Agrega una página de menú de nivel superior.

Descripción

Esta función tiene una capacidad que se utilizará para determinar si se incluye o no una página en el menú.

La función que está conectada para manejar la salida de la página debe verificar que el usuario también tenga la capacidad requerida.

Parámetros

$ page_title

(cuerda)(Requerido)El texto que se mostrará en las etiquetas de título de la página cuando se seleccione el menú.

$ menu_title

(cuerda)(Requerido)El texto que se utilizará para el menú.

$ capacidad

(cuerda)(Requerido)La capacidad requerida para que este menú se muestre al usuario.

$ menu_slug

(cuerda)(Requerido)El nombre de la barra para hacer referencia a este menú. Debe ser único para esta página de menú y solo debe incluir caracteres alfanuméricos en minúscula, guiones y guiones bajos para que sea compatible con sanitize_key ().

$ función

(invocable)(Opcional)La función que se llamará para generar el contenido de esta página.

Valor por defecto: ”

$ icon_url

(cuerda)(Opcional)La URL del icono que se utilizará para este menú.

  • Pase un SVG codificado en base64 utilizando un URI de datos, que se coloreará para que coincida con el esquema de color. Esto debería comenzar con ‘data: image / svg + xml; base64,’.
  • Pase el nombre de una clase auxiliar de Dashicons para usar un icono de fuente, por ejemplo, ‘dashicons-chart-pie’.
  • Pase ‘none’ para dejar div.wp-menu-image vacío para que se pueda agregar un icono a través de CSS.

Valor por defecto: ”

$ posición

(En t)(Opcional)La posición en el orden del menú debe aparecer este elemento.

Valor predeterminado: nulo

Regreso

(cuerda) El hook_suffix de la página resultante.

Más información

Notas

  • Nota IMPORTANTE: Desde WordPress 4.4, no necesita preocuparse por hacer que el número de posición sea único para evitar conflictos. Ver ticket de trac # 23316 para más información.
  • Si se encuentra con el error “No tiene permisos suficientes para acceder a esta página”, significa que se ha conectado demasiado pronto. El gancho que debes usar es admin_menu.
  • Si solo desea mover los elementos del menú de administración existentes a diferentes posiciones, puede usar el admin_menu gancho para desarmar elementos de menú de sus posiciones actuales en el global $ menú y $ submenú variables (que son matrices) y restablecerlas en otra parte de la matriz.
  • Esta función tiene una ‘capacidad’ (ver Funciones y capacidades) que se utilizará para determinar si una página está incluida o no en el menú. La función que está conectada para manejar la salida de la página debe verificar que el usuario también tenga la ‘capacidad’ requerida.
  • Si está utilizando el API de configuración para guardar datos, y necesita que el usuario sea otro que el administrador, deberá modificar los permisos a través del enlace option_page_capability _ $ option_group, dónde $ option_group es lo mismo que option_group en register_setting(). Revisar la API de configuración.

Ejemplo que permite a un editor guardar datos:

// Register settings using the Settings API functionwpdocs_register_my_setting()register_setting('my-options-group','my-option-name','intval');add_action('admin_init','wpdocs_register_my_setting');// Modify capabilityfunctionwpdocs_my_page_capability($capability)return'edit_others_posts';add_filter('option_page_capability_my-options-group','wpdocs_my_page_capability');

Estructura del menú

Predeterminado: parte inferior de la estructura del menú

  • 2 – Tablero
  • 4 – Separador
  • 5 – Publicaciones
  • 10 – Medios
  • 15 – Enlaces
  • 20 – Páginas
  • 25 – Comentarios
  • 59 – Separador
  • 60 – Apariencia
  • 65 – Complementos
  • 70 – Usuarios
  • 75 – Herramientas
  • 80 – Configuración
  • 99 – Separador

Para el menú Administrador de red, los valores son diferentes:

  • 2 – Tablero
  • 4 – Separador
  • 5 – Sitios
  • 10 – Usuarios
  • 15 – Temas
  • 20 – Complementos
  • 25 – Configuración
  • 30 – Actualizaciones
  • 99 – Separador

Fuente

Expediente: wp-admin / includes / plugin.php

functionadd_menu_page($page_title,$menu_title,$capability,$menu_slug,$function='',$icon_url='',$position=null)global$menu,$admin_page_hooks,$_registered_pages,$_parent_pages;$menu_slug=plugin_basename($menu_slug);$admin_page_hooks[$menu_slug]=sanitize_title($menu_title);$hookname=get_plugin_page_hookname($menu_slug,'');if(!empty($function)&&!empty($hookname)&&current_user_can($capability))add_action($hookname,$function);if(empty($icon_url))$icon_url='dashicons-admin-generic';$icon_class='menu-icon-generic ';else$icon_url=set_url_scheme($icon_url);$icon_class='';$new_menu=array($menu_title,$capability,$menu_slug,$page_title,'menu-top '.$icon_class.$hookname,$hookname,$icon_url);if(null===$position)$menu[]=$new_menu;elseif(isset($menu["$position"]))$position=$position+substr(base_convert(md5($menu_slug.$menu_title),16,10),-5)*0.00001;$menu["$position"]=$new_menu;else$menu[$position]=$new_menu;$_registered_pages[$hookname]=true;// No parent as top level.$_parent_pages[$menu_slug]=false;return$hookname;

Relacionado

Usos

Usos Descripción
wp-admin / includes / plugin.php:get_plugin_page_hookname ()

Obtiene el nombre del enlace de la página administrativa de un complemento.

wp-includes / features.php:current_user_can ()

Devuelve si el usuario actual tiene la capacidad especificada.

wp-includes / formatting.php:sanitize_title ()

Desinfecta una cadena en un slug, que se puede utilizar en URL o atributos HTML.

wp-includes / link-template.php:set_url_scheme ()

Establece el esquema de una URL.

wp-includes / plugin.php:plugin_basename ()

Obtiene el nombre base de un complemento.

wp-includes / plugin.php:add_action ()

Engancha una función a una acción específica.

Usado por

Usado por Descripción
wp-admin / includes / deprecated.php:add_object_page ()

Agregue una página de menú de nivel superior en la sección ‘objetos’.

wp-admin / includes / deprecated.php:add_utility_page ()

Agregue una página de menú de nivel superior en la sección ‘utilidad’.

Registro de cambios

Versión Descripción
1.5.0 Introducido.