eliminar "editar su perfil" de la barra de menú de administración

8

¿Cómo puedo eliminar el submenú "editar su perfil" en la barra de menú de administración "mi-cuenta-con-avatar", sin dejar de mantener el avatar y cerrar sesión?

Sean Lee
fuente

Respuestas:

11

Hay un remove_menugancho para la barra de menú de administración.

En la clase a la que desea conectarse $wp_admin_bar, puede ver la función de eliminación aquí y probarla ya que no hay documentación (línea 86), debería funcionar con la ID del submenú.

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

Como no pareces creerme, aquí está el código .........

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
fuente
No hay un enlace individual para "editar mi perfil". O pierdo todo el menú de la cuenta con cerrar sesión y editar el perfil y el avatar (si corresponde), o mantenerlos a todos. Así que terminé editando admin-bar.php
Sean Lee
1
El código anterior toma las ID, el elemento del submenú seguramente tiene una ID, no piratee los archivos principales, se sobrescriben en las actualizaciones además de otras 100 razones.
Wyck
Lamentablemente, no hay ninguna identificación individual para editar mi perfil. Por cierto, este artículo se encuentra en admin-bar.php. A menos que hayas encontrado algo diferente que me perdí. Por favor hagamelo saber.
Sean Lee
Sé para qué sirve y tiene una ID, deseche la matriz del menú de la barra de administración y lo verá, también puede verlo en el archivo principal que vinculé anteriormente,$child = array( 'id' => $id, 'title' => $title, 'href' => $href );
Wyck
Se agregó código a OP ya que parece que no me crees ... pero gracias por el voto negativo ...
Wyck
5

Wordpress ha introducido nuevos stufs (nodos).

Estaba buscando eliminar completamente el 'cuadro de cuenta de usuario' y agregar un cierre de sesión 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
fuente
¿Cómo puedes mostrar el nombre del blog aquí, nombre, apellido y cerrar sesión
Amjad
0

No estoy seguro de si puede eliminarlo (no lo ha marcado), pero puede lograr lo mismo usando css para ocultar la edición del enlace de su perfil. El elemento de la lista tiene una identificación 'wp-admin-bar-edit-profile' que usa para ocultarlo. Este es el html usado en la barra de administración:

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

Estoy usando el siguiente CSS:

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

Esto oculta el enlace en la barra de administración sin ninguno de los otros enlaces. Agregue este fragmento de CSS al estilo.css de su tema y el enlace se ocultará en la barra de administración cuando vea su sitio. Ocultarlo en la barra de administración al ver el backend de WordPress implica un poco más y podría ser discutible ya que también hay un enlace al perfil en el menú de la izquierda.

BjornW
fuente
Esconderlo no es lo suficientemente limpio, ¿cómo sobre reescribir, de todos modos para reescribirlo?
Sean Lee