Crear menús y submenus en el admin de WordPress

Home » Blog » Crear menús y submenus en el admin de WordPress

Para crear menús y submenus en el administrador de WordPress, tenemos una serie de funciones que hacen la labor realmente sencilla. Pero primero debemos pensar donde lo vamos a poner y luego si es mejor crear un menú padre (como ajustes, herramientas, usuarios, páginas, etc) o es mejor un submenú que por ejemplo este dentro de ajustes.

Menú padre o superior

Es recomendable crear estos menús si el plugin puede tener muchas páginas con muchos ajustes. Se trata de tener una visión general de usabilidad. Para ello debemos usar la función:

add_menu_page('title_menu','titulo_menu','nivel_usuario','slug','function','icono','posicion');
  • title_menu: Será el metadata <title>.
  • titulo_menu: Nombre del menú.
  • nivel_usuario: Nivel de usuario mínimo para ver el plugin. Lo que en WordPress se conoce como capability. https://wordpress.org/documentation/article/roles-and-capabilities/
  • slug: Nombre del slug, debe ser diferente a cualquier otro plugin o tema.
  • function: Es nombre de la función que llama cuando estas dentro del menú.
  • icono: Es la url del icono que se visualiza. No es obligatorio, si no se indica se visualiza uno por defecto.
  • posicion: Dentro del listado de menús. No es obligatorio, si se deja aparecerá abajo.

Añadir a nuestro menú un submenú

Ahora podemos añadir a nuestro menú un submenú:

add_submenu_page('slug_menu_padre','title_menu','titulo_menu','nivel_usuario','slug','function');
  • slug_menu_padre: Es la referencia al menú padre.

Podemos agrupar la creación de menús en un hook action:

add_action('admin_menu','mis_menus');
function mis_menus(){
add_menu_page('title_menu','titulo_menu','nivel_usuario','slug','function','icono','posicion');
add_submenu_page('slug_menu_padre','title_menu','titulo_menu','nivel_usuario','slug','function');
}

Ampliar un menú existente

En muchas ocasiones debemos añadir nuestro plugin a un menú de los que viene por defecto (por ejemplo: Ajustes):

add_options_page('title_menu','titulo_menu','nivel_usuario','slug','function');
  • add_options_page: Para añadir en Ajustes.
  • add_post_page: Para añadir en Entradas.
  • add_media_page: Para añadir en Multimedia.
  • add_dashboard_page: Para añadir en Escritorio.
  • add_pages_page: Para añadir en Páginas.
  • add_comments_page: Para añadir en Comentarios.
  • add_plugins_page: Para añadir en Plugins.
  • add_theme_page: Para añadir en Apariencia.
  • add_users_page: Para añadir en Usuarios.
  • add_management_page: Para añadir en Herramientas.

Menús ocultos

Una de las necesidades más frecuentes es tener una página que se abrirá cuando pinchemos en un enlace como por ejemplo una tabla de pestañas, un botón de ayuda, etc. en estos casos queremos una página pero que no éste asociada a ningún menú ni submenú del lateral de WordPress.

add_submenu_page(NULL,'Ayuda','Ayuda','manage_options','id_menu','menu_fc');

En este caso en vez de añadir el slug del menú al que queremos asociar el submenú, le indicamos que sea NULL. Ahora solo queda poner el enlace:

<a href="?page=id_menu">Enlace></a>

Categorías


Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.

Evaluación EXCELENTE
A base de 8 reseñas
Iñigo me ha asesorado con un problema que tenía para acceder a mi web y me ha salvado la vida, porque creía que había perdido todo el trabajo que llevaba haciendo años. Muchísimas gracias. Es gratificante encontarte con alguien que controla y te ayuda en los problemas que te pueden surgir.
Santutxu Zaharra
Santutxu Zaharra
11/06/2024
Gran profesional y muy competente, le contratamos para cambiar la web y mejorar el posicionamiento y gracias a su asesoramiento ha mejorado.
jorge martinez
jorge martinez
16/05/2024
Contactamos con Iñigo para el diseño web de nuestra tienda online y estamos encantados. Su asesoramiento, seguimiento y trato han sido excepcionales. Un verdadero crack. Recomendado al 100%. No dudes en ponerte en contacto con el.
erlantz rique
erlantz rique
19/02/2024
Un acierto quien elija a Iñigo. Autentico profesional, se preocupó en todo momento que entendiera el funcionamiento de la web. Me explicó todo las veces necesarias hasta entenderlo. Se preocupó y acertó en que la web tuviera lo que le pedí y lo hizo con creces. Muy contento con el servicio prestado. Una vez realizado el trabajo, cualquier duda que tengo me sigue ayudando. Lo recomiendo sin temor a equivocarme.
Jose Marlasca
Jose Marlasca
06/02/2024
Compromiso, implicación e innovación en los proyectos. Atento a las necesidades e incansable en la búsqueda de soluciones. Muy buena opción.
Jabier Fuertes Udaondo
Jabier Fuertes Udaondo
07/01/2024
Si buscas a alguien que además de hacer un diseño web moderno, responsivo y adaptado a tu sector, te explique por qué plantea el diseño web de esa manera y que te explique y ayude en posicionar tu web lo mejor posible en base a los objetivos fijados, ese es Iñigo Mezo y os lo recomiendo al 100%
Asier Hermoso
Asier Hermoso
03/01/2024
Genial trabajar con él! Además de ser muy buen profesional, experto y responsable, a destacar tanto su implicación en cada proyecto, así como su trato siempre cercano y su paciencia infinita ;) Un crack!!
itxaso zubia
itxaso zubia
15/12/2023
El plugin gratuito para integrar productos de Prestashop en Wordpress muy sencillo de utilizar y muy bien documentado, os felicito.
Fernando Cózar
Fernando Cózar
02/11/2023