Personalizando tu administrador de WordPress

El backend de WordPress es uno de los mejores que hay. Sin embargo, dependiendo de sus necesidades, el menú puede estar un poco lleno de pelusas que simplemente no quiere o no necesita..

En este tutorial, te mostraré cómo controlar tu menú de administración. Le mostraré cómo cambiar el nombre de los menús, reorganizar los menús o simplemente eliminarlos sin tocar el núcleo. Porque tocar el núcleo es malo..


Renombrando Menús

A veces es posible que desee cambiar el nombre de uno de los menús de administración. Por ejemplo, está ejecutando un sitio de recetas y está utilizando "Publicaciones" para enumerar recetas en lugar de para un blog..

Para hacer esto, necesitarás usar el admin_menu gancho de acción. Se utiliza para agregar submenús al menú de administración u otras opciones misceláneas que tienen que hacer con el menú.

Renombrando menús de nivel superior

Primero, necesita crear una función y luego adjuntarla al gancho de acción dentro de la funciones.php de tu tema.

 function edit_admin_menus () global $ menu;  add_action ('admin_menu', 'edit_admin_menus');

El menú de administración de WordPress en realidad se almacena en una matriz ($ menú). Así que primero como ves, edit_admin_menus usa $ menu global para obtener la matriz. Ahora tendrá que identificar la clave asociada con el menú al que desea cambiar el nombre. Al final de este tutorial se proporcionará una lista de todos los menús y submenús..

Como queríamos cambiar el menú "Publicaciones" a "Recetas", sabemos que necesitamos apuntar a "5":

 function edit_admin_menus () global $ menu; $ menu [5] [0] = 'Recetas'; // Cambiar publicaciones a recetas add_action ('admin_menu', 'edit_admin_menus');

Lo creas o no, eso es todo lo que hay que hacer. Salvar funciones.php, y actualice la página de administración. Pero ahora los submenús no coinciden con el nuevo nombre..

Renombrando Submenús

Cambiar el nombre de los submenús es casi el mismo proceso, excepto que necesita agregar el submenú $ global, y también tendrá como objetivo la URI del enlace. Así, por ejemplo, cambiar "Todas las publicaciones" a "Todas las recetas" se vería así:

 $ submenu ['edit.php'] [5] [0] = 'All Recipes';

Puede hacer esto para cada elemento del submenú. Todos juntos, edit_admin_menus se vería algo como esto

 function edit_admin_menus () global $ menu; $ global submenu; $ menu [5] [0] = 'Recetas'; // Cambiar publicaciones a recetas $ submenu ['edit.php'] [5] [0] = 'Todas las recetas'; $ submenu ['edit.php'] [10] [0] = 'Add a Recipe'; $ submenu ['edit.php'] [15] [0] = 'Tipos de comidas'; // Cambiar el nombre de las categorías a tipos de comida $ submenu ['edit.php'] [16] [0] = 'Ingredients'; // Renombrar etiquetas a ingredientes add_action ('admin_menu', 'edit_admin_menus');

El menú de publicaciones ahora se ha transformado en un menú de recetas. Este proceso funciona para todos los menús desde el Panel de control hasta Configuración, así como sus submenús..


Cambiar el orden del menú

Ahora le mostraré cómo cambiar el orden de los menús, incluidos los separadores. Por lo general, prefiero que los medios y los enlaces estén más hacia abajo, ya que no los uso tanto como las páginas y los comentarios..

Para ordenar el menú de administración es necesario utilizar el filtro menu_order. Sin embargo, el filtro menu_order requiere que primero active custom_menu_order. Así que primero, querrá poner este código en su funciones.php.

 function custom_menu_order ($ menu_ord) if (! $ menu_ord) return true; matriz de retorno ('index.php', // Dashboard 'separator1', // Primer separador 'edit.php', // Publicaciones 'upload.php', // Media 'link-manager.php', // Links ' edit.php? post_type = página ', // Páginas' edit-comments.php ', // Comentarios' separator2 ', // Segundo separador' themes.php ', // Apariencia' plugins.php ', // Plugins' users.php ', // Users' tools.php ', // Herramientas' options-general.php ', // Configuración' separator-last ', // Last separator);  add_filter ('custom_menu_order', 'custom_menu_order'); // Activar custom_menu_order add_filter ('menu_order', 'custom_menu_order');

El orden de los menús es de arriba a abajo, por lo que cualquier menú que coloque en la parte superior de la matriz, será el primer menú. Si no coloca uno de los elementos de menú estándar en la matriz, simplemente caerá al final de la lista, no lo eliminará del menú..


Eliminando Menús

Ha cambiado el nombre de algunos menús y los ha ordenado a su gusto. ¿Pero qué pasa si no usas las páginas o el administrador de enlaces? Solo puedes eliminarlos.

Eliminar menús de nivel superior

La eliminación de los menús de administración es muy fácil de hacer. WordPress tiene una función incorporada solo para eliminar menús:

 remove_menu_page ();

Todas las necesidades de remove_menu_page son la barra del menú que está eliminando (también al final de este tutorial).

Entonces, por ejemplo, si quisiera eliminar el menú Herramientas, usaría:

 remove_menu_page ('tools.php');

Al eliminar un menú, puede reutilizar la misma función que creó para cambiar el nombre de los menús. Este es un ejemplo de la función que usó al principio de este tutorial donde cambió el nombre del menú Publicaciones, pero ahora también está eliminando el menú Herramientas..

 function edit_admin_menus () global $ menu; $ global submenu; $ menu [5] [0] = 'Recetas'; // Cambiar publicaciones a recetas $ submenu ['edit.php'] [5] [0] = 'Todas las recetas'; $ submenu ['edit.php'] [10] [0] = 'Add a Recipe'; $ submenu ['edit.php'] [15] [0] = 'Tipos de comidas'; // Cambiar el nombre de las categorías a tipos de comida $ submenu ['edit.php'] [16] [0] = 'Ingredients'; // Cambiar el nombre de las etiquetas a los componentes remove_menu_page ('tools.php'); // Eliminar el menú Herramientas add_action ('admin_menu', 'edit_admin_menus');

Eliminando un submenú

Eliminar un submenú es igual de fácil, usa una función muy similar a la eliminación de un menú de nivel superior. Aquí está escondiendo el Editor de temas del menú Apariencia:

 remove_submenu_page ('themes.php', 'theme-editor.php');

La única diferencia en los argumentos es que debe proporcionar la barra del padre del submenú, y luego la barra del propio submenú. En un ejemplo final, aquí está el código que oculta todo el menú Herramientas y el submenú Editor de temas:

 function edit_admin_menus () global $ menu; $ global submenu; $ menu [5] [0] = 'Recetas'; // Cambiar publicaciones a recetas $ submenu ['edit.php'] [5] [0] = 'Todas las recetas'; $ submenu ['edit.php'] [10] [0] = 'Add a Recipe'; $ submenu ['edit.php'] [15] [0] = 'Tipos de comidas'; // Cambiar el nombre de las categorías a tipos de comida $ submenu ['edit.php'] [16] [0] = 'Ingredients'; // Cambiar el nombre de las etiquetas a los componentes remove_menu_page ('tools.php'); // Eliminar el menú Herramientas remove_submenu_page ('themes.php', 'theme-editor.php'); // Eliminar el submenú Editor de temas add_action ('admin_menu', 'edit_admin_menus');

En conclusión

Como puede ver, hacer una personalización básica en el backend de WordPress es agradable y fácil, y aunque muchos no vean lo que ha hecho, al final puede (y lo hará) ayudarlo mucho. La organización nunca es algo malo. Lo haces en la parte frontal de tu tema, ¿por qué no hacerlo también en el backend??

Esto también es excelente si está ejecutando un sitio para un cliente. ¡Ocultar los menús que podrían usar para causar un daño no deseado a su sitio es siempre una gran ventaja! En futuros tutoriales repasaré más de las personalizaciones posibles, desde el uso de CSS para cambiar la apariencia general del backend, hasta que las personalizaciones solo afecten a ciertos usuarios..

Según lo prometido, he incluido un gráfico que le dará todos los menús y submenús nombre, clave y barra.