La guía para principiantes de acciones y filtros de WordPress

Cuando se trata del desarrollo profesional de WordPress, es imperativo que los desarrolladores entiendan tanto las acciones como los filtros, es decir, es importante entender los ganchos de WordPress..

En pocas palabras, los enganches son lo que nos da la posibilidad de personalizar, ampliar y mejorar WordPress a través de una API en nuestros temas, complementos y otros esfuerzos de desarrollo personalizados..

El problema es que estas dos características de WordPress, posiblemente los aspectos más importantes de desarrollo para la plataforma, son ampliamente mal entendidas o completamente ignoradas.

En esta publicación, analizaremos el ciclo de vida de la página de WordPress, entenderemos cómo funcionan los enlaces y revisaremos las diferencias en las acciones y los filtros para que no solo seamos mejores desarrolladores de temas y / o complementos, sino que también tengamos una comprensión más profunda de cómo funciona WordPress.

Nota: Este artículo está dirigido específicamente para principiantes, por lo que si eres un desarrollador experimentado, esto puede ser un poco de actualización; sin embargo, si usted son un principiante, siéntase libre de dejar preguntas en el área de comentarios al final de la publicación.


El ciclo de vida de la página de WordPress

Antes de comenzar a hablar sobre los ganchos de WordPress, es importante comprender cómo funciona el ciclo de vida de la página de WordPress..

Un ciclo de vida de la página no es más que una combinación de los eventos que tienen lugar desde que un navegador solicita una página hasta que el servidor devuelve la página al navegador..

Digamos, por ejemplo, que estás cargando una sola página. Luego, en un nivel alto, WordPress hará algo como lo siguiente:

  • Mira la página de identificación solicitada
  • Consulta la base de datos de la página por su ID
  • Consulte la base de datos para cualquier información asociada (como categorías, etiquetas, imágenes, etc.)
  • Consulta en la base de datos los comentarios asociados a ella.
  • Regreso todos de los datos al navegador

Los archivos de plantilla y las llamadas a las funciones de la API son responsables de la representación, el estilo y el posicionamiento de los datos en la pantalla..

Suena simple, pero si piensa en algunos de los blogs más complejos que lee, o si piensa en algunos de los trabajos que ha realizado, puede comenzar a comprender qué tan intensivo puede ser este proceso en particular..

Por supuesto, esto también se encuentra en el nivel más simplista. Esto no incluye ningún mecanismo de almacenamiento en caché ni ninguno de los temas avanzados que otros analizan a menudo cuando crean proyectos basados ​​en WordPress..

Un popular desarrollador de WordPress, Rarst, el tipo detrás de queryposts.com, ha creado un gráfico relativamente detallado que muestra la carga principal de WordPress:

Hacer no se desanime si no puede seguir el diagrama anterior. Lo he puesto aquí simplemente como referencia. El objetivo final de esta sesión es que, al final, todos los desarrolladores puedan entenderlo..

Dicho esto, esta es la clave que hay que entender acerca de los ganchos durante el ciclo de vida de carga de la página de WordPress:

Mientras WordPress ejecuta su serie de consultas y se prepara para representar los datos en el navegador, está analizando todos los enlaces personalizados, es decir, las acciones y los filtros, que se han escrito y pasa los datos a través de esos filtros antes de devolverlos a el navegador.

En este punto, es importante definir los enganches y observar las diferencias entre las acciones y los filtros y cómo juegan en todo este ciclo de vida..


Todo sobre ganchos

Los ganchos de WordPress se refieren a dos cosas: acciones y filtros. Si mirara los artículos del Codex en ganchos, no verá nada más que una página corta que enlaza con las referencias de acciones y filtros. Así es exactamente como debería ser, porque eso es que ganchos son.

Así que aquí está cómo pensar acerca de esto:

Los enganches nos permiten engancharnos literalmente a partes del ciclo de vida de la página de WordPress para recuperar, insertar o modificar datos, o nos permiten realizar ciertas acciones entre bambalinas.

Bastante guay cierto?

Pero hay dos cosas que entender acerca de esto:

  1. Las acciones son diferentes a los filtros.
  2. No se puede simplemente lanzar un gancho a un punto de ejecución arbitrario. Hay momentos durante los cuales se disparan ciertos ganchos y tiempos óptimos para que usted aproveche eso..

Dicho esto, primero definamos acciones y filtros, luego revisaremos cuándo disparar qué.


Tomando acción

Entonces, ¿qué son las acciones? La definición más simple es esta: las acciones indican que algo ha sucedido. Eso es. ¿Pero de qué sirve esa definición? ¿Y cómo no nos confundimos con los eventos??

Así es como lo mantengo en orden:

Las acciones son eventos en el ciclo de vida de la página de WordPress cuando ciertas cosas han ocurrido: ciertos recursos están cargados, ciertas instalaciones están disponibles y, dependiendo de qué tan temprano haya ocurrido la acción, algunas cosas aún tienen que cargarse..

Ya que hemos analizado el ciclo de vida de la página de WordPress, las acciones son básicamente ciertos puntos durante la vida en los que puede introducir su propia funcionalidad..

Esto significa que tiene la capacidad de hacer que algo suceda mientras se carga una página..

El Codex proporciona una genial Recurso sobre las acciones que están integradas en WordPress, así como el orden en que se activan.. Marque, refiera a menudo y aprenda esto.

Es fundamental para aprender a conectarse a WordPress en ciertos puntos durante su ejecución y Doing It Right ™.

Caso en cuestión: a menudo veo a los desarrolladores enganchados en el en eso acción con demasiada frecuencia. Claro, hay un momento para hacer esto. Pero di que querías hacer algo justo antes de recibir las publicaciones. Entonces tendría sentido usar el pre_get_posts gancho en lugar de en eso, Correcto?

Eso es por qué es importante entender las acciones.


Filtrar todas las cosas

Los filtros, por otro lado, son completamente diferentes a las acciones. Al igual que las acciones, son puntos similares que ocurren durante el ciclo de vida de la página de WordPress; sin embargo, lo que hacer es diferente.

Así es como defino los filtros:

Los filtros son funciones por las que WordPress pasa los datos durante ciertos puntos del ciclo de vida de la página. Son los principales responsables de interceptar, administrar y devolver datos antes de representarlos en el navegador o guardar los datos del navegador en la base de datos..

Supongamos por un momento que un visitante del sitio está a punto de cargar una publicación. Por lo que entendemos del ciclo de vida de la página de WordPress, WordPress consultará la base de datos para esa publicación y luego la devolverá al navegador. Sin embargo, antes de hacer eso, se ejecutarán los datos a través de los filtros que se hayan establecido..

En este punto, los filtros tomarán medidas sobre los datos que se les están pasando. Por ejemplo, supongamos que desea agregar una breve oración sobre el autor al final del contenido. Para hacer esto, registrarías una función personalizada con el contenido Filtra y añade tu frase al contenido..

Cómo hacer esto está fuera del alcance de este artículo, pero nuestro objetivo es cubrir esto en un artículo futuro en la sesión.

Al igual que con las acciones, el Codex presenta una lista completa de los filtros disponibles. Y de manera similar, Marque, refiera a menudo y aprenda esto.

Una vez que tenga una sólida comprensión de los filtros, entonces puede comenzar a manipular la recuperación de datos y la serialización con Doing It Right ™ en lugar de burlar la API de WordPress. Proporciona una manera poderosa y muy fácil de manipular los datos..

Eso es por qué es importante entender los filtros.


Pero cuando hago ... ?

En este punto, siempre surge la pregunta inevitable..

¿Cuándo uso qué gancho??

Y aquí está el consejo que normalmente doy:

  • Use acciones cuando desee agregar algo a la página existente, como hojas de estilo, dependencias de JavaScript o envíe un correo electrónico cuando haya ocurrido un evento.
  • Use los filtros cuando desee manipular los datos que salen de la base de datos antes de ir al navegador, o que vienen del navegador antes de ingresar a la base de datos.

¡Eso es! Bastante fácil, espero.


Conclusiones

En este punto, recomiendo encarecidamente revisar los siguientes recursos:

  • La API del complemento, que también proporciona una gran información que puede usarse en Desarrollo de temas, también.
  • La referencia de acción
  • La referencia del filtro

Estamos planeando continuar publicando varias publicaciones en la sesión para acompañar este artículo, así como el artículo de Pippin sobre complementos extensibles, así que asegúrese de estar atento a esta sesión para obtener más información acerca de los enlaces..