web-dev-qa-db-fra.com

supprimer "modifier votre profil" de la barre de menus de l'administrateur

Comment supprimer le sous-menu "Editer votre profil" dans la barre de menus administrateur "Mon-compte-avec-avatar" tout en conservant l'avatar et la déconnexion?

8
Sean Lee

Il y a un crochet remove_menu pour la barre de menus de l’administrateur.

La classe à laquelle vous voulez vous accrocher dans $wp_admin_bar, vous pouvez voir la fonction remove ici et la tester car il n’ya aucune 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 tu n'as pas semblé 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);
10
Wyck

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

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

//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 );
}
4
pascal

Je ne sais pas si vous pouvez le supprimer (non coché), mais vous pouvez obtenir le même résultat en utilisant CSS pour masquer le lien modifier votre profil. L'élément de la 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 cache le lien dans la barre d'administration sans aucun des autres liens. Ajoutez cet extrait css au fichier style.css de votre thème et le lien sera masqué dans la barre d'administration lors de l'affichage de votre site. Le masquer dans la barre d'administration lors de la visualisation du backend de WordPress implique un peu plus et pourrait être discutable puisqu'il existe également un lien vers le profil dans le menu de gauche.

0
BjornW