Entfernen Sie "Profil bearbeiten" aus der Admin-Menüleiste

8

Wie kann ich das Untermenü "Profil bearbeiten" unter der Administratormenüleiste "Mein Konto mit Avatar" entfernen, während der Avatar und die Abmeldung beibehalten werden?

Sean Lee
quelle

Antworten:

11

Es gibt einen remove_menuHaken für die Admin-Menüleiste.

In der Klasse, in die Sie sich einbinden möchten $wp_admin_bar, können Sie die Funktion zum Entfernen hier sehen und testen, da keine Dokumentation vorhanden ist (Zeile 86). Sie sollte mit der Untermenü-ID funktionieren.

http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/class-wp-admin-bar.php

Da Sie mir hier nicht zu glauben schienen, ist hier der Code .........

function ya_do_it_admin_bar_remove() {
        global $wp_admin_bar;

        /* **edit-profile is the ID** */
        $wp_admin_bar->remove_menu('edit-profile');
 }

add_action('wp_before_admin_bar_render', 'ya_do_it_admin_bar_remove', 0);
Wyck
quelle
Es gibt keinen individuellen Hook für "Mein Profil bearbeiten". Entweder verliere ich das gesamte Kontomenü mit Abmelden und bearbeite Profil und Avatar (falls vorhanden) oder behalte sie alle. Also habe ich admin-bar.php bearbeitet
Sean Lee
1
Der obige Code verwendet die IDs, das Untermenüelement hat sicherlich eine ID, hackt keine Kerndateien, sie werden bei Updates überschrieben, neben etwa 100 anderen Gründen.
Wyck
Leider gibt es keine individuelle ID zum Bearbeiten meines Profils. Übrigens befindet sich dieser Artikel in admin-bar.php. Es sei denn, Sie haben etwas anderes gefunden, das ich verpasst habe. Lass es mich wissen, bitte.
Sean Lee
Ich weiß, wofür es ist und es hat und ID, entleere das Admin-Bar-Menü-Array und du wirst es sehen, du kannst es auch in der Kerndatei sehen, die ich oben verlinkt habe,$child = array( 'id' => $id, 'title' => $title, 'href' => $href );
Wyck
Code zu OP hinzugefügt, da Sie mir anscheinend nicht glauben ... aber danke für die Ablehnung ...
Wyck
5

Wordpress hat neue Stufs (Knoten) eingeführt.

Ich habe nach "Benutzerkontofeld" vollständig entfernen und eine einfache Abmeldung hinzufügen:

//http://codex.wordpress.org/Function_Reference/get_nodes
//http://codex.wordpress.org/Function_Reference/add_node

add_action( 'admin_bar_menu', 'remove_my_account', 999 );
function remove_my_account( $wp_admin_bar ) {
    $wp_admin_bar->remove_node( 'my-account' );
}


add_action( 'admin_bar_menu', 'add_logout', 999 );
function add_logout( $wp_admin_bar ) {
    $args = array(
        'id'     => 'logout',           // id of the existing child node (New > Post)
        'title'  => 'Se déconnecter',   // alter the title of existing node
        'parent' => 'top-secondary',    // set parent
    );
    $wp_admin_bar->add_node( $args );
}
Pascal
quelle
Wie können Sie den Blognamen hier anzeigen, Vorname, Nachname sowie Abmelden
Amjad
0

Ich bin nicht sicher, ob Sie es entfernen können (nicht überprüft), aber Sie können dasselbe mit CSS erreichen, um den Link zum Bearbeiten Ihres Profils auszublenden. Das Listenelement hat die ID 'wp-admin-bar-edit-profile', mit der Sie es ausblenden. Dies ist das in der Admin-Leiste verwendete HTML:

<li id="wp-admin-bar-edit-profile" class="">
  <a href="http://www.example.com/wp-admin/profile.php">Edit My Profile</a>
</li>

Ich benutze das folgende CSS:

#wp-admin-bar-edit-profile { display: none }

Dadurch wird der Link in der Admin-Leiste ohne die anderen Links ausgeblendet. Fügen Sie dieses CSS-Snippet zur style.css Ihres Themas hinzu, und der Link wird beim Anzeigen Ihrer Website in der Admin-Leiste ausgeblendet. Das Ausblenden in der Admin-Leiste beim Anzeigen des WordPress-Backends ist etwas aufwändiger und möglicherweise umstritten, da im Menü links auch ein Link zum Profil vorhanden ist.

BjörnW
quelle
Es zu verstecken ist nicht sauber genug. Wie wäre es mit Umschreiben, um es überhaupt umzuschreiben?
Sean Lee