5. Menús de administración

En este capítulo veremos los Menús de Administración. Estos son los menús que se muestran después de que un usuario inicia sesión. El menú de administración es donde añadirás las opciones para que los administradores del sitio gestionen tu plugin. Ver más información en Menús de Navegación.

Menú de primer nivel vs. sub-menú

Los ítems de menú de primer nivel son visibles a lo largo del lado izquierdo de la página de administración. Cada uno contiene un juego de sub-menús. Práctica común de los desarrolladores es añadir sus páginas de gestión de plugins como una opción de submenú de uno de los ítems existentes de primer nivel de WordPress, tales como Herramientas o Ajustes.

Siempre que sea posible es recomendable ubicar tu página de opciones bajo un item de menú de primer nivel existente.

Sólo cuando estás seguro de que necesitas más de una página de opciones es adecuado crear una página de primer nivel. Piensa cuidadosamente sobre las necesidades de tu plugin así como las necesidades de tus usuarios finales.

 

Menús de primer nivel

Ejemplo sencillo: Añadir un menú de primer nivel

Si quieres añadir un nuevo menú en el área de administración, utiliza la función add_menu_page() para crear un menú (y una página).

Argumentos:

  • $page_title. Esta es la cabecera para la página.
  • $menu_title. El título que aparecerá en el menú.
  • $capability. Es una instrucción de seguridad. Sólo los usuarios con capacidad de manage_options tienen permiso para ver esta página de menú.
  • $menu_slug. Es un nombre único que emplea WordPress para referirse a esta página de menú. Si empleas clases, pasalo como una matriz ($this, ‘functionname’). NOTA: También puedes llamar a un fichero como en ‘myplugin/myplugin-admin.php’.
  • $function. Nombre de la función llamada para visualizar la página de menú. NOTA: Si el slug se refiere a un nombre de fichero, entonces la llamada de vuelta puede estar vacía.
  • $icon_url. Fichero de icono mostrado en el menú para esta página.
  • $position. Esta es la posición del menú en la jerarquía de menú. Si se omite, tu ítem de menú aparecerá en la posición más baja de la estructura de menú.

 

Paso 1: Crear una función de creación de menú

 

Paso 2: Registrar la función de creación de menú

Emplear el gancho de acción admin_menu para registrar tu función:

<code>add_action( ‘admin_menu’, ‘add_my_custom_menu’ );</code>

Este pequeño código debe ir justo antes o justo después de tu función.

 

Paso 3a: Crear la página mediante una función

La función anterior indica que hay una función de llamada de vuelta denominada my_admin_page_function. Por lo tanto, creamos dicha función tal como esta:

NOTA: Siempre necesitarás una div con clase “wrap” y un título de página con H2 en el inicio.

 

Paso 3b: Crear la página mediante un fichero

Si la función llama a un fichero después del slug, la función de llamada de vuelta puede estar vacía, como:

Entonces simplemente crea el fichero en la ubicación indicada, con un contenido parecido a:

 

Sub-menús

Si quieres añadir una página sub-menú al menú de primer nivel, utiliza la función add_management_page():

Los argumentos son los siguientes:

  • $page_title. El título de la nueva página que el usuario verá cuando clique en el enlace del sub-menú.
  • $menu_title. La etiqueta que se mostrará en la lista de ítems de sub-menús.
  • $capability. Es una instrucción de seguridad. Sólo los usuarios con capacidad de manage_options tienen permiso para ver esta página de menú.
  • $menu-slug. Identificador único utilizado por WordPress para referenciar al ítem de menú.
  • $function. El nombre de la función que construye la página objetivo.

Este ejemplo vale para añadir un ítem de sub-menú a cualquier ítem del menú principal de WordPress. Sólo tienes que reemplazar la función add_management_page() con la función add_xxx_page del siguiente listado:

 

Paso 1: Crear la función de construcción de menú

Escribe una función que contenga la función add_management_page().

Si quieres hacer algo más al tiempo en que este ítem de menú es añadido, lo puedes añadir a la función.

 

Paso 2: Registrar la función de construcción de menú

Utiliza la acción admin_menu para enganchar en la administración de WordPress y añadir la página nueva.

<code>add_action( ‘admin_menu’, ‘add_my_toolset_menu’ );</code>

 

Paso 3: Crear la función constructora de la página objetivo

 

Añadir un sub-menú a cualquier menú de primer nivel

También es posible añadir un sub-menú a cualqier menú de primer nivel, mediante la función add_submenu_page().

Primero, debes crear una función que contenga los argumentos de add_submenu_page().

Argumentos:

  • $parent_slug = ‘index.php’

Es el nombre del menú padre de primer nivel. index.php es la página que puedes emplear para crear un sub-menú bajo el menú del tablero. Puedes utilizar otras páginas de menú en la administración por defecto de WordPress, como:

  1. Dashboard: add_submenu_page( ‘index.php’, …). Ver add_dashboard_page().
  2. Entradas: add_submenu_page( ‘edit.php’, … ). Ver add_posts_page().
  3. Medios: add_submenu_page( ‘upload.php’, … ). Ver add_media_page().
  4. Páginas: add_submenu_page( ‘edit.php?post_type=page’, … ). Ver add_pages_page().
  5. Comentarios: add_submenu_page( ‘edit-comments.php’, …). Ver add_comments_page().
  6. Tipos personalizados: add_submenu_page( ‘edit.php?post_type=your_post_type’, … ).
  7. Apariencia: add_submenu-page( ‘themes.php’, … ). Ver add_theme_page().
  8. Plugins: add_submenu_page( ‘plugins.php’, … ). Ver add_plugins_page().
  9. Usuarios: add_submenu_page( ‘users.php’, …). Ver add_users_page().
  10. Herramientas: add_submenu_page( ‘tools.php’, …). Ver add_management_page().
  11. Ajustes: add_submenu_page( ‘options-general.php’, … ). Ver add_options_page().
  12. Ajustes en páginas de administración de red: add_submenu_page( ‘settings.php’, … ).
  • $page_title = ‘My Submenu Page’

El título que se mostrará en la parte superior de tu sub-página.

  • $menu_title = ‘My Submenu Page’

El titulo del submenú de página que se mostrará en la barra lateral de administración.

  • $capability = ‘manage_options’

Es una instrucción de seguridad. Sólo los usuarios con capacidad de manage_options tienen permiso para ver esta página de menú.

  • $menu-slug = ‘my-submenu-page’

Identificador único empleado por WordPress para referenciar el ítem del sub-menú.

  • $function = ‘my_submenu_page_callback’

Función que crea tu página de opciones. Puedes objetivarla con este argumento.

Deja un comentario

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