So entfernen Sie alle Admin-Menüelemente?

Ich habe Techniken zum Entfernen bestimmter Admin-Bar-Elemente kennengelernt, aber wie machen wir das mit zusätzlichen Menüs, die von Plugins / Themes hinzugefügt wurden?

Wie entfernen Sie alle Admin Bar-Elemente?

Admin-Leiste voller Elemente


Verwandte Fragen und Antworten

  • Ist die neue WordPress 3.1 Admin Leiste steckbar und wie kann ich sie erweitern?
  • Entfernen Sie “Bearbeiten Sie Ihr Profil” aus der Admin-Menüleiste
  • WordPress Admin Bar Verschieben von Links
  • Machen Sie ‘Howdy, [Name]’ function als Abmelden-Taste

Solutions Collecting From Web of "So entfernen Sie alle Admin-Menüelemente?"

Ich löse dies, indem ich alle Knoten aus der Admin-Leiste abrufe, sie durchblättere und alles entferne, was kein parent .

Eine Ausnahme wird im Menü Benutzeraktionen (“Howdy, user_name”) gemacht, das eine zusätzliche Überprüfung benötigt.

 add_action( 'admin_bar_menu', 'wpse_76491_admin_bar_menu', 200 ); function wpse_76491_admin_bar_menu() { global $wp_admin_bar; if ( !is_object( $wp_admin_bar ) ) return; // Clean the AdminBar $nodes = $wp_admin_bar->get_nodes(); foreach( $nodes as $node ) { // 'top-secondary' is used for the User Actions right side menu if( !$node->parent || 'top-secondary' == $node->parent ) { $wp_admin_bar->remove_menu( $node->id ); } } // end Clean } 

Dies erzeugt die folgende Admin-Leiste:
fast saubere Admin-Leiste


Der einzige Überrest ist das Debug-Bar- Plugin, das mit einer Priorität von 1000 hinzugefügt wird.

add_action('admin_bar_menu', array(&$this, 'admin_bar_menu'), 1000);

Das Problem ist, dass wir, wenn wir eine höhere Priorität als 200 , keine Elemente zum top-secondary Knoten hinzufügen können. Und das ist ein Rätsel für mich …

Aber ok, das ist ein Entwicklerartikel und sollte kein Problem sein. Und alle 4 zusätzlichen Elemente, die von Plugins hinzugefügt wurden, wurden entfernt.


Der Vollständigkeit halber ein Beispiel dafür, was wir hinzufügen müssen, nachdem wir die Admin-Leiste bereinigt haben. Folgendes geht nach // end Clean :

 // Conditional button, 'Go to Site' or 'Go to Admin' rendered $title_goto = is_admin() ? 'Go to site' : 'Go to admin'; $url_goto = is_admin() ? site_url() : admin_url(); $wp_admin_bar->add_menu( array( 'id' => 'go_to_site_or_admin', 'title' => $title_goto, 'href' => $url_goto ) ); // end Conditional button // Conditional Logout or Profile button $title_logout = is_admin() ? 'Logout' : 'Profile'; $url_logout = is_admin() ? wp_logout_url() : get_edit_profile_url( get_current_user_id() ); $wp_admin_bar->add_menu( array( 'id' => 'wp-custom-logout', 'title' => $title_logout, 'parent'=> 'top-secondary', 'href' => $url_logout ) ); // end Conditional Logout/Profile button // Codex search form item $codex_search = '
'; $wp_admin_bar->add_menu( array( 'parent' => 'top-secondary', 'title' => $codex_search, 'href' => FALSE ) );

Dadurch wird eine andere Admin-Leiste angezeigt, wenn der Administrator oder die Site angezeigt wird.

Back-End-Admin-Leiste

Frontend Admin-Leiste