Websupporter

Vor allem über WordPress.

Vier Wege, die Adminbar in WordPress auszublenden

Die Standardeinstellung in WordPress zeigt für eingeloggte Benutzer die Adminbar oberhalb der Webseite an. Doch nicht immer will man diese anzeigen. Manchmal zerstört sie das Layout einer Seite, oder aber man möchte bestimmte Benutzergruppen die Adminbar nicht anzeigen.

Es gibt verschiedene Wege, die Adminbar auszuschalten. Dazu gehört natürlich als erstes die Möglichkeit, den entsprechenden Haken für einen Benutzer im Admin herauszunehmen.

Die Adminbar kann im Admin für bestimmte User abgeschaltet werden.
Die Adminbar kann im Admin für bestimmte User abgeschaltet werden.

Wenn es sich nur um ein, zwei Benutzer handelt, bei denen man dies machen möchte, so ist dies sicherlich der schnellste Weg. Unangenehmer wird es schon, wenn es sich um einige dutzend User handelt oder wenn man bei Neuanmeldungen diese Prozedur jedes Mal händisch durchführen muss.

Interessant ist deshalb, wo diese Information eigentlich gespeichert wird. Dabei handelt es sich um eine Metaangabe von Benutzern, welche in der wp_usermeta-Tabelle der Datenbank abgelegt wird. Der entsprechende Schlüssel, unter welchem diese Einstellung gespeichert wird lautet 'show_admin_bar_front'. Mit dem Wert 'true' wird die Leiste angezeigt, der Wert 'false' zeigt die Adminleiste hingegen nicht an. So könnte man beispielsweise während des Registrierungsprozesses den Wert auf 'false' setzen:

Embed from pastebin.com

Click the button below to load the content from pastebin.com.


Always allow pastebin.com

Doch vielleicht möchte man die Toolbar auch nur auf bestimmten Sektionen der Seite verbergen. Verantwortlich für die Darstellung der Adminleiste sind die Funktionen _wp_admin_bar_init() und wp_admin_bar_render() in der Datei wp-includes/admin-bar.php. Bevor diese allerdings die Anzeige veranlassen, prüfen sie zunächst mit Hilfe von is_admin_bar_showing(), ob die Bar angezeigt werden soll. Auch diese Funktion findet sich in der admin-bar.php. is_admin_bar_showing() gibt lediglich einen Boolean zurück, ob die Leiste angezeigt werden soll. Mit Hilfe des Filters 'show_admin_bar' kann man dabei in die Ausgabe der Bar eingreifen. So könnte man WordPress veranlassen, die Ausgabe auf Blogbeiträgen zu verhindern:

Embed from pastebin.com

Click the button below to load the content from pastebin.com.


Always allow pastebin.com

Natürlich bleibt auch noch die Möglichkeit, die Anzeige einfach mit CSS zu unterbinden. Die Adminbar verfügt über die ID '#adminbar', welche man einfach ausblenden kann:

#adminbar{ display: none; }

Doch damit ist das ursprüngliche Layout noch nicht komplett wieder hergestellt. Denn mit Hilfe von margin schafft WordPress Platz für die Admin Bar, indem das gesamte HTML-Element 32 Pixel nach unten verschoben wird. Da dies alles in der 'wp_head'-Aktion geschieht müssen die eigenen Definitionen später geladen werden. Eine Option wäre deshalb, sich in die 'wp_footer'-Aktion einzuklinken und auch das HTML-Element wieder nach oben zu schieben. Zu beachten ist dabei, dass WordPress hier mit !important arbeitet, was wir dann schließlich auch machen müssen:

Embed from pastebin.com

Click the button below to load the content from pastebin.com.


Always allow pastebin.com

Man sieht also, es gibt viele Wege, die Adminbar abzuschalten. Je nachdem, welche Anforderungen an die Anzeige bestehen, bietet sich der eine oder aber der andere Weg an.

Über den Autoren

Seine erste Webseite hat David Remer 1998 in HTML verfasst. Wenig später war er fasziniert von DHTML und JavaScript. Nach jahrelanger Freelancerei arbeitete er zunächst für Inpsyde und ist heute Entwickler bei Automattic. Außerdem hat er das Buch "WordPress für Entwickler" verfasst.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.