Icono del sitio Imacreste

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');

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');

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');

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>
Salir de la versión móvil