Eliminar "Editar tu perfil" de la barra de menú de administración

15 jul 2011, 13:43:04
Vistas: 13.9K
Votos: 8

¿Cómo puedo eliminar el submenú "editar tu perfil" bajo "mi-cuenta-con-avatar" en la barra de menú de administración, manteniendo el avatar y la opción de cerrar sesión?

0
Todas las respuestas a la pregunta 3
9
12

Existe un hook remove_menu para la barra de menú del administrador.

La clase a la que deseas enganchar es $wp_admin_bar. Puedes ver la función de eliminación aquí y probarla ya que no hay documentación sobre ella (línea 86). Debería funcionar con el ID del submenú.

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

Ya que parecías no creerme, aquí está el código.........

function ya_do_it_admin_bar_remove() {
        global $wp_admin_bar;

        /* **edit-profile es el ID** */
        $wp_admin_bar->remove_menu('edit-profile');
 }

add_action('wp_before_admin_bar_render', 'ya_do_it_admin_bar_remove', 0);
16 jul 2011 02:18:44
Comentarios

No hay un hook individual para "editar mi perfil". O pierdo todo el menú de cuenta con cerrar sesión y editar perfil y avatar (si hay alguno), o los mantengo todos. Así que terminé editando admin-bar.php

Sean Lee Sean Lee
17 jul 2011 22:05:29

El código anterior toma los ID's, el elemento del submenú seguramente tiene un ID, no modifiques archivos del núcleo, se sobrescriben en las actualizaciones además de otras 100 razones.

Wyck Wyck
17 jul 2011 22:39:10

Desafortunadamente no hay ningún ID individual para editar mi perfil. Por cierto, este elemento se encuentra en admin-bar.php. A menos que hayas encontrado algo diferente que se me pasó. Por favor avísame.

Sean Lee Sean Lee
18 jul 2011 02:20:24

Sé para qué sirve y tiene un ID, vuelca el array del menú de la barra de administración y lo verás, también puedes verlo en el archivo core que enlacé arriba, $child = array( 'id' => $id, 'title' => $title, 'href' => $href );

Wyck Wyck
18 jul 2011 06:02:17

He añadido el código al OP ya que parece que no me crees... pero gracias por el voto negativo...

Wyck Wyck
18 jul 2011 06:29:07

Gracias por el código. No es que no te crea, lo probé y no funcionó en ese momento. ADEMÁS, no tenía permiso para votar negativamente, debe haber sido alguien más. Ahora vi un voto positivo, y ninguno es cosa mía.

Sean Lee Sean Lee
22 jul 2011 22:11:53

ahora que tengo suficientes permisos, aquí está la verificación que te debía. Gracias.

Sean Lee Sean Lee
2 ago 2011 11:05:25

¡Wow! Este hook funciona perfectamente. Muchas gracias @Wyck. 100% funcional en WordPress 3.8.1.

Thein Hla Maw Thein Hla Maw
23 mar 2014 20:01:28

No es la mejor solución, el usuario aún puede editar su cuenta al añadir profile.php en la URL...

csandreas1 csandreas1
28 jun 2018 00:41:46
Mostrar los 4 comentarios restantes
1

WordPress ha introducido nuevos elementos (nodos).

Estaba buscando eliminar completamente el 'cuadro de cuenta de usuario' y añadir un simple logout:

//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 del nodo hijo existente (Nuevo > Entrada)
        'title'  => 'Cerrar sesión',    // modificar el título del nodo existente
        'parent' => 'top-secondary',    // establecer el padre
    );
    $wp_admin_bar->add_node( $args );
}
3 dic 2013 17:37:41
Comentarios

¿Cómo puedes mostrar aquí el nombre del blog, el primer nombre, el apellido así como la opción de cerrar sesión?

Amjad Amjad
18 oct 2016 00:00:08
1

No estoy seguro si puedes eliminarlo (no lo he comprobado), pero puedes lograr lo mismo usando CSS para ocultar el enlace de editar perfil. El elemento de lista tiene un ID 'wp-admin-bar-edit-profile' que puedes usar para ocultarlo. Este es el HTML utilizado en la barra de administración:

<li id="wp-admin-bar-edit-profile" class="">
  <a href="http://www.example.com/wp-admin/profile.php">Editar mi perfil</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 afectar los demás enlaces. Añade este fragmento de CSS al archivo style.css de tu tema y el enlace se ocultará en la barra de administración cuando veas tu sitio. Ocultarlo en la barra de administración cuando accedes al backend de WordPress implica un poco más y podría ser irrelevante ya que también hay un enlace al perfil en el menú de la izquierda.

15 jul 2011 19:30:10
Comentarios

Ocultarlo no es lo suficientemente limpio, ¿qué tal reescribirlo? ¿Hay alguna manera de reescribirlo?

Sean Lee Sean Lee
15 jul 2011 20:49:27