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.