Jhon Jairo Rincón Cardona

El gran libro de desarrollo de plugins WordPress


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

- El calendario del día de la semana debe comenzar; establecido en Opciones generales.

      • ‘upload_path’ - Ubicación de carga predeterminada; establecido en Opciones varias.

      • ‘users_can_register’ - Si los usuarios pueden registrarse; establecido en Opciones generales.

      • ‘posts_per_page’ - Número máximo de publicaciones para mostrar en una página; establecido en Opciones de lectura.

      • ‘posts_per_rss’ - Número máximo de publicaciones más recientes para mostrar en el feed de sindicación; establecido en Opciones de lectura.

      La cuarta función wp_mail() nos servirá para enviar un correo electrónico, similar a la función de correo de PHP.

      wp_mail

Illustration

      Parámetros

      • $to

      ( cadena | matriz ) (Obligatorio) Matriz o lista de direcciones de correo electrónico separadas por comas para enviar el mensaje.

      • $subject

      ( cadena ) (obligatorio) Asunto del correo electrónico.

      • $message

      ( cadena ) (obligatorio) Contenido del mensaje.

      • $headers

      ( cadena | matriz ) (Opcional) Encabezados adicionales. Valor por defecto: ‘’

      • $attachments

      ( cadena | matriz ) (Opcional) Archivos para adjuntar. Valor predeterminado: array ()

      Funciones de PHP

      • sprintf()

      Esta función o método de php devuelve un string producido según el string de formateo dado. Para consultar toda la información, podemos ir la siguiente url:

       https://www.php.net/manual/es/function.sprintf.php

      Por último, para que funcione todo, debemos quitar el código que genera comentarios en nuestro frontend.

Illustration

      Estos son los comentarios que hemos ido dejando en los ejemplos de nuestro plugin res-pruebas. Podemos quitar el código o comentarlo; de lo contrario, al intentar crear un post, nos saldrá lo siguiente.

Illustration

      No deben producirse errores a la hora de crear un nuevo post, para que el código que hemos escrito se ejecute correctamente y recibamos el email que esperamos.

      Por último, aplicaremos este código en un servidor remoto, y el resultado será que, al crear un post nuevo, recibiremos un email confirmando la creación del post y la url, junto con los datos del autor que lo creó.

Illustration

      Los filtros o filter hooks de WordPress manipulan la información en un punto concreto de la ejecución, antes de que se muestre en la pantalla o se almacene en la base de datos.

      Por ejemplo, puede cambiar el título de una página antes de que salga en la pantalla del usuario, añadir más contenido al título de un post, cambiar el texto de un botón, etc.

      Al igual que con los action hooks, le voy a enseñar cuál es la estructura o sintaxis de un filter hook:

      add_filter

Illustration Illustration

      • $tag (requerido): el nombre de filtro con el que quiera trabajar.

      • $function_to_add (requerido): el nombre de la función que se ejecutará cuando el filtro se active.

      • $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 action hook.

      • $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.

      Realmente los action hooks y los filter hooks son muy similares y se utilizan de la misma forma, aunque se usen para cosas diferentes:

      • Los filter hooks reciben un parámetro de entrada que usted va a modificar y devolver al hook correspondiente.

      • No se llaman con la función do_action(). Como en el caso de los action hooks, se utiliza apply_filters(); por lo que tendrá que localizar en el código de WordPress los puntos en los que puede engancharse al hook con esta función.

      • No se referencia con add_action(); sino que se usa add_filter();

      Ejemplos

      En este ejemplo vamos a a realizar un cambio en las publicaciones de nuestro blog.

      Observemos la página blog de nuestro template donde tenemos varias publicaciones:

Illustration

      Veamos que tenemos un resumen de cada post con una cantidad de palabras predefinida que finaliza con unos corchetes y unos puntos suspensivos […]. Esto se debe a que internamente en el desarrollo de la plantilla se incluye la función the_excerp() de WordPress.

      Ahora lo que haremos será crear un gancho de filtro para que, donde sea que se aplique esta función the_excerpt(), en vez de aparecer […], aparezcan solo los puntos suspensivos sin el corchete. Debemos tener en cuenta que, como hacemos este pequeño cambio, se pueden hacer muchos más.

      Ahora vamos a nuestro archivo principal res-pruebas y vamos a escribir el siguiente código:

Illustration

      Como podemos ver en la siguiente imagen, el gancho de filtro con la función que hemos desarrollado funciona correctamente.

Illustration

      Si quiere ver todos los filter hooks que existen y aprender a utilizarlos correctamente, le recomiendo que visite la documentación oficial de WordPress:

       https://codex.wordpress.org/Plugin_API/Filter_Reference

      Los ganchos personalizados sirven para que otros desarrolladores puedan extender nuestros plugins.

      Para