supprimer «modifier votre profil» de la barre de menus d'administration

8

Comment puis-je supprimer le sous-menu "modifier votre profil" dans la barre de menu d'administration "mon compte avec avatar", tout en conservant l'avatar et la déconnexion?

Sean Lee
la source

Réponses:

11

Il y a un remove_menucrochet pour la barre de menu d'administration.

La classe à laquelle vous souhaitez vous connecter $wp_admin_bar, vous pouvez voir la fonction de suppression ici et la tester car il n'y a pas de documentation dessus (ligne 86), elle devrait fonctionner avec l'ID du sous-menu.

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

Puisque vous ne semblez pas me croire voici le 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
la source
Il n'y a pas de crochet individuel pour "modifier mon profil". C'est soit je perds tout le menu du compte avec la déconnexion et modifie le profil et l'avatar (le cas échéant), soit je les garde tous. Donc, j'ai fini par éditer admin-bar.php
Sean Lee
1
Le code ci-dessus prend les identifiants, l'élément de sous-menu a sûrement un identifiant, ne piratez pas les fichiers de base, ils sont écrasés sur les mises à jour en plus d'environ 100 autres raisons.
Wyck
Malheureusement, il n'y a pas d'ID individuel pour modifier mon profil. BTW, cet élément se trouve dans admin-bar.php. À moins que vous ayez trouvé quelque chose de différent que j'ai manqué. S'il vous plaît, faites-moi savoir.
Sean Lee
Je sais à quoi il sert et il a et ID, videz le tableau de menu de la barre d'administration et vous le verrez, vous pouvez également le voir dans le fichier de base que j'ai lié ci-dessus,$child = array( 'id' => $id, 'title' => $title, 'href' => $href );
Wyck
Ajout de code à OP car vous semblez ne pas me croire .... mais merci pour le downvote ...
Wyck
5

Wordpress a introduit de nouveaux stufs (nœuds).

Je cherchais pour supprimer complètement la 'boîte de compte d'utilisateur' et ajouter une déconnexion simple:

//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
la source
Comment pouvez-vous afficher le nom du blog ici, le prénom, le nom ainsi que la déconnexion
Amjad
0

Je ne sais pas si vous pouvez le supprimer (non vérifié), mais vous pouvez obtenir la même chose en utilisant css pour masquer le lien modifier votre profil. L'élément de liste a un identifiant «wp-admin-bar-edit-profile» que vous utilisez pour le masquer. Voici le code HTML utilisé dans la barre d'administration:

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

J'utilise le CSS suivant:

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

Cela masque le lien dans la barre d'administration sans aucun des autres liens. Ajoutez cet extrait de code CSS au style.css de votre thème et le lien sera masqué dans la barre d'administration lors de la consultation de votre site. Le cacher dans la barre d'administration lors de la visualisation du backend WordPress implique un peu plus et peut être théorique car il y a aussi un lien vers le profil dans le menu de gauche.

BjornW
la source
Le cacher n'est pas assez propre, comment le réécrire, de toute façon le réécrire?
Sean Lee