Cómo quitar menús de la barra de administración de WordPress @ Ayuda WordPress

Si hace poco vimos cómo añadir menús personalizados a la barra de herramientas de administración de WordPress, hoy vamos a dar un paso adelante y aprender a quitar esos a veces molestos elementos en nuestra barra de admin que plugins y temas se empeñan en añadir.

Con las técnicas que vamos a ver en esta guía, vamos a identificar el nodo que está añadiendo el menú y quitarlo, con un par de métodos.

Para empezar, debes identificar los IDs de los nodos que muestran los menús de la barra de herramientas de administración.

(Antes de nada) Localiza los IDs de los nodos de los distintos elementos

Lo primero es localizar el ID del nodo, del elemento de la barra de herramientas que quieres quitar, para lo que tienes que inspeccionar el código de la web para identificarlo.

Para ello utiliza el inspector del navegador haciendo clic derecho sobre el elemento del menú que quieres eliminar.

Una vez se abra el inspector del navegador verás que se muestra el ID hasta en 3 sitios.

En este ejemplo, el ID completo sería este:

id="wp-admin-bar-SG_CachePress_Supercacher_Purge"

El ID el nodo será la parte que va a continuación de wp-admin-bar- común en todos los menús de la barra de administración.

En este ejemplo, entonces, el ID del nodo de este elemento de la barra de admin que queremos quitar sería SG_CachePress_Supercacher_Purge.

Quitar menú de la barra de admin (método 1)

Ya identificado, añadiríamos el siguiente código a nuestro plugin de personalizaciones o plugin MU:

/* Quitar menu de purgar cache de SG en barra admin */
function ayudawp_quitar_menu_sg ($wp_admin_bar) {
$wp_admin_bar->remove_node('SG_CachePress_Supercacher_Purge');
}
add_action('admin_menu_bar','ayudawp_quitar_menu_sg', 999);

Cuando hayas añadido el código, lo que hace es ganchear nuestra función personalizada en admin_bar_menu y quita el nodo especificado.

El parámetro de la prioridad 999 ayuda a asegurar que la función de eliminación se ejecute después de la función add-node del plugin, pues cuánto más alta sea la prioridad más tarde se ejecuta la función, como hemos visto en otros códigos que suelo compartir contigo.

Dicho esto, la única parte del código que tienes que modificar es reemplazar el ID del nodo de ejemploSG_CachePress_SuperCacher_Purge por el ID que en tu caso quieras eliminar.

Después de personalizar y añadir el código visita tu sitio, recarga la página para comprobar que ha desaparecido el menú de la barra de herramientas que no querías.

Este método funciona en cualquier elemento de la barra de herramientas añadido mediante el gancho admin_bar_menu, pero … desafortunadamente, no todos los plugins y temas usan este gancho para añadir sus menús personalizados.

Así que si no te ha funcionado este método no es culpa tuya (tampoco mía), sino que el método simplemente no funciona para ese plugin/tema concreto que hemos elegido para el ejemplo.

Lo que tienes que hacer es probar con el siguiente método…

Quitar menú de la barra de admin (método 2)

Cómo te comentaba, muchos plugins utilizan el gancho admin_bar_menu para añadir sus elementos personalizados a la barra de admin, que es el método utilizado en el código anterior.

Pero hay otros muchos plugins, como SG Optimizer, UpdraftPlus y cada vez más, que utilizan un gancho diferente, wp_before_admin_bar_render, para añadir sus menús a la barra de admin.

Así que si no te funcionó el método anterior y, a pesar de tener el ID bien identificado, aún se muestra el menú que te molesta, es debido a esto.

La acción wp_before_admin_bar_render permite a los desarrolladores modificar el objeto $wp_admin_bar antes incluso de que se muestre la barra de herramientas de administración, y es por eso que la utilizan para añadir sus personalizaciones.

En este caso el código sería el siguiente:

/* Quitar menu de purgar cache d SG en barra admin */
function ayudawp_quitar_menu_sg() {
        global $wp_admin_bar;
        $wp_admin_bar->remove_menu('SG_CachePress_Supercacher_Purge');
}
add_action('wp_before_admin_bar_render', 'ayudawp_quitar_menu_sg', 999);

Cuando hayas añadido este otro código, funciona casi igual que el anterior, con estas diferencias:

  • Aquí se usa la variable global $wp_admin_bar (en vez de pasarla)
  • Utiliza remove_menu (en vez de remove_node)
  • Se ganchea en wp_before_admin_bar_render (en vez de en admin_bar_menu)

Como antes, revisa tu sitio, recarga la página, y comprueba si ha desaparecido el menú que querías quitar.

Este método alternativo debería funcionar para los elementos de la barra de herramientas de administración en los que no funcione el primer método.

Igual que antes, acuérdate de cambiar el ID del nodo de ejemplo por el que tú quieras eliminar.

Con un método u otro, el resultado que queremos es pasar de esto…

A esto otro…

Estoy seguro de que con uno u otro método lo conseguirás.

Quitar menús por defecto de WordPress de la barra de admin (el «meneillo»)

Para terminar con estas técnicas, puedes usar el primer método para eliminar de la barra de herramientas de admin cualquiera de los elementos estándar, por defecto, de WordPress.

El código sería así:

/* Quitar elementos wp de barra de admin */
function ayudawp_quitar_menus_wp_barra_admin($wp_admin_bar) {
        
        $wp_admin_bar->remove_node('wp-logo'); //Quita el logo de WP
        $wp_admin_bar->remove_node('site-name'); //Quita el nombre del sitio
        $wp_admin_bar->remove_node('comments'); //Quita los comentarios
        $wp_admin_bar->remove_node('updates'); //Quita actualizaciones
        $wp_admin_bar->remove_node('customize'); //Quita el personalizador
        $wp_admin_bar->remove_node('new-content'); //Quita + añadir
        $wp_admin_bar->remove_node('search'); //Quita el buscador 
        $wp_admin_bar->remove_node('my-account'); //Quita menu de usuario
}
add_action('admin_bar_menu', 'ayudawp_quitar_menus_wp_barra_admin', 999);

Como ves, puedes quitar de todo, simplemente personaliza el código añadiendo o quitando los elementos que quieras ver o no.

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *