Jhon Jairo Rincón Cardona

El gran libro de desarrollo de plugins WordPress


Скачать книгу

      Funcion add_submenu_page()

      Agregar una página de submenú.

Illustration

      Descripción

      Esta función tiene una capacidad que se utilizará para determinar si una página se incluye 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.

      Parámetros

      • $parent_slug (cadena ) (Obligatorio)

      El nombre del slug para el menú principal (o el nombre de archivo de una página de administración estándar de WordPress).

      • $page_title

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

      • $menu_title

      (cadena ) (obligatorio) El texto que se utilizará para el menú.

      • $capability

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

      • $menu_slug

      (cadena ) (Obligatorio) El nombre del slug para referirse a este menú. Debe ser único para este menú y solo debe incluir caracteres alfanuméricos en minúscula, guiones y guiones bajos para que sean compatibles con sanitize_key ().

      • $function

      ( invocable ) (Opcional) La función que se llamará para generar el contenido de esta página. Valor por defecto: ‘’

      • $position

      ( int ) (Opcional) Debe aparecer la posición en el orden de menú de este elemento. Valor predeterminado: nulo.

Illustration

      Como podemos ver en la imagen, tenemos el menú principal y el submenú. Ganchos Hooks

      WordPress, a diferencia de otros gestores de contenido, utiliza una arquitectura basada en eventos y procedimientos. Si quieres desarrollar tanto temas como plugins en este CMS, es esencial que aprendas a utilizar el sistema de hooks o ganchos.

      Los ganchos o hooks en WordPress son puntos concretos y estratégicos dentro del core de WordPress, que permiten añadir funcionalidades o modificar un comportamiento. Cuando la secuencia de carga llegue a ese punto concreto, se ejecuta la función que has “enganchado”.

Illustration

      De esta manera, podrás modificar el funcionamiento del código de WordPress sin ni siquiera tocarlo. Sin embargo, tienes que ser consciente de que los hooks no se ejecutan aleatoriamente, sino que siguen un orden.

      En WordPress existen dos tipos de hooks: acciones (actions hooks) y filtros (filters hooks). Aunque se utilizan de la misma manera, el valor que devuelve cada uno es diferente.

Illustration

      Las acciones o action hooks ejecutan una función propia en un lugar preciso en un momento determinado de la línea de ejecución de WordPress.

      Cuando llega a un punto concreto, realice la acción que quiera además de las que ya se van a ejecutar por defecto. En resumen, los action hooks añaden código adicional a su WordPress.

      Propiedades

      • $tag (requerido):

      El nombre de la acción a la que se va a enganchar la función que añada, o sea, que aquí pondré el nombre del do_action().

      • $function_to_add (requerido):

      El nombre de la función que creó para utilizar con este gancho de acción.

      • $priority (opcional):

      Se especifica el orden en el que se ejecutan las funciones que están asociadas a ese gancho. Su valor por defecto es 10. Cuanto más pequeño es el número, antes se ejecuta esa función. Si el valor es igual entre dos funciones, se ejecutará antes la que se haya agregado primero al gancho de acción.

      • $accepted_args (opcional):

      Un número que indica la cantidad de parámetros que va a pasar a la función. Por defecto, es 1.

      do_action(‘nombre_hook’)

      Así es como puede localizar en qué puntos de WordPress están los action hooks. Para verlo más claro, vamos a poner un ejemplo sencillo.

      Imagine que necesita agregar código CSS personalizado dentro de la cabecera de su web.

      En el código de WordPress existe una función que se llama wp_head() que se define en el archivo:

       /wp-includes/general-template.php.

Illustration

      Esta función utiliza do_action() para crear un punto con el que pueda trabajar con el gancho wp_head.

      Si abre el archivo header.php de su theme principal, verá que entre las etiquetas <head></head> se llama a la función wp_head().

Illustration

      Cuando la ejecución de su WordPress llega a ese punto, el código que realmente ejecuta wp_head(); es do_action(‘wp_head’); creando así un punto de anclaje justo antes del cierre de la etiqueta <head>.

      De esta manera, cuando usted enganche su función al hook wp_head, se añadirá el código CSS que tiene preparado al header.php de su tema.

      Pero la función do_action(); no solo se utiliza en el core de WordPress, y esto es MUY INTERESANTE.

      Crearemos unos ejemplos:

      Ejemplo 1

      Para poder eliminar el widget del panel de control, va a utilizar un hook de WordPress que se activa justo después de que se hayan registrado todos los widgets: widgets_init.

Illustration

      Ahora solo tiene que añadir el código necesario dentro de su función.

Illustration

      Como ve en la siguiente imagen, ya no puede utilizar el widget del calendario.

Illustration Illustration

      En el siguiente enlace verá los distintos ganchos para cada widget: