Funciones de WordPress add_filter vs add_action, lo básico.

Publicado: 2021-08-24

Divulgación: esta publicación contiene enlaces de afiliados. Puedo recibir una compensación cuando hace clic en los enlaces a los productos en esta publicación. Para obtener una explicación de mi Política de publicidad, visite esta página . ¡Gracias por leer!

Contenido

  • ¿Cuáles son las funciones add_filter vs add_action de WordPress?
  • Entonces, ¿qué es exactamente un "gancho" en WordPress?
  • ¿Cuál es la diferencia entre ganchos, filtros y acciones?
  • ¿Cuál es la diferencia entre do_action y add_action en WordPress?
  • ¿Cuál es la diferencia entre los ganchos de acción y los ganchos de filtro?
  • ¿Qué hacen los filtros en WordPress?
  • ¿Qué hacen las acciones en WordPress?
  • ¿Puedo usar add_action antes de add_filter al modificar un complemento de WordPress?
  • Entonces, ¿cuál es la diferencia real entre los ganchos add_filter y los ganchos add_action en WordPress?

¿Cuáles son las funciones add_filter vs add_action de WordPress?

¿Alguna vez obtuvo un complemento o tema que sería perfecto si pudiera hacerle uno o dos ajustes? Sin embargo, estos dos ajustes requerirán que solo agregue un poco de código, tal vez incluso un código abreviado.

Pero antes de hacerlo, debe comprender los conceptos básicos de add_filter vs add_action, las diferencias y cómo funcionan en WordPress antes de convertir un complemento o tema codificado casi perfectamente en un completo desastre.

Una "acción_añadida" en WordPress es lo que usa para crear un "gancho" de activación. Cuando algo sucede, entonces haz algo más.

Se utiliza un "add_filter" para "enganchar" datos, es decir, cambiar/reemplazar. Por ejemplo, donde hay [algún código], cámbielo a algún otro código expandido.

El "gancho" es una "función" o "método" para un filtro o acción específica. Más sobre "ganchos" a continuación.

WordPress ofrece ganchos de filtro para permitir que los complementos modifiquen varios tipos de datos internos durante su tiempo de ejecución. Un complemento puede modificar datos vinculando una devolución de llamada a un enlace de filtro. Cuando se aplica el filtro más tarde, cada devolución de llamada enlazada se ejecuta en orden de prioridad y se le da la oportunidad de modificar un valor devolviendo un valor nuevo.

  • Las acciones son aquellas funciones de PHP que ejecutan la salida.
  • Los filtros son aquellas funciones de PHP que devuelven la salida.

Podemos extender cualquier complemento que use las acciones y filtros sin modificar su código. Añadiendo filtros y acciones en nuestro propio tema o plugin. Veamos más sobre cómo funcionan estos en WordPress.

Entonces, ¿qué es exactamente un "gancho" en WordPress?

Los ganchos son una forma en que una pieza de código interactúa/modifica otra pieza de código en puntos específicos predefinidos. Constituyen la base de cómo los complementos y los temas interactúan con WordPress Core, pero también son utilizados ampliamente por el mismo WordPress Core.

Hay dos tipos de ganchos: Acciones y Filtros. Para usar cualquiera de los dos, debe escribir una función personalizada conocida como " Devolución de llamada " y luego registrarla con un enlace de WordPress para una acción o filtro específico. Fuente : WordPress.org .

¿Cuál es la diferencia entre ganchos, filtros y acciones?

Como se mencionó anteriormente, "ganchos" es básicamente el nombre colectivo de filtros y acciones. Ambos están destinados a cambiar el comportamiento normal de las funciones.

Hablando desde el punto de vista de la programación, no hay una gran diferencia, como puede ver en el hecho de que en el código fuente de WordPress agregar una "acción" es lo mismo que agregar un "filtro".

La diferencia está en cómo se usan. Utiliza una "acción" para cambiar completamente el comportamiento de una función o para agregar algo a una función existente.

Utiliza un "filtro" para cambiar el resultado de una función o una variable.

¿Cuál es la diferencia entre do_action y add_action en WordPress?

Un "hacer_acción" registra un "gancho de acción" mientras que "añadir_acción" agrega una función de devolución de llamada al gancho registrado.

¿Cuál es la diferencia entre los ganchos de acción y los ganchos de filtro?

Ganchos de acción

Los "ganchos de acciones" están destinados a usarse cuando el núcleo de WordPress o algún complemento o tema le brinda la oportunidad de insertar su código en un punto determinado dentro del suyo para ejecutar una tarea o "acción" específica.

Ganchos de filtro

Los "ganchos de filtro" se comportan de manera muy similar a los "ganchos de acción", pero su uso previsto es recibir un valor y, potencialmente, devolver una versión modificada del valor.

Un "Gancho de filtro" también podría usarse como un "Gancho de acción", es decir, para modificar una variable global o generar algo de HTML, suponiendo que eso es lo que debe hacer cuando se llama al gancho.

¿Qué hacen los filtros en WordPress?

Un “filtro” toma la información que recibe, la modifica y la devuelve. En otras palabras, filtra algo y lo devuelve al gancho para su uso posterior.

Por lo tanto, un filtro se usa para modificar algo de una manera específica para que la modificación sea utilizada por el código más adelante.

¿Qué hacen las acciones en WordPress?

Una "acción" toma la información que recibe, ejecuta las instrucciones que se le dan en su codificación y luego no devuelve nada. Básicamente, actúa sobre algo y luego sale, sin devolver nada al gancho de llamada.

Una acción interrumpe el flujo de código para hacer algo y luego regresa al flujo normal sin modificar nada.

Entonces, donde los "filtros" son conjuntos de parámetros o instrucciones, las "acciones" son la ejecución de instrucciones.

¿Puedo usar add_action antes de add_filter al modificar un complemento de WordPress?

Básicamente, no importa en qué orden use add_action() y add_filter().

Lo que importa es el orden en que se llaman los correspondientes do_action() y apply_filters().

Entonces, si "apply_filters", por ejemplo, ('wp_insert_post_data') se ejecuta antes de "do_action"('save_post'), entonces no funcionará. Tendrá que pensar en otra forma de obtener los resultados que busca.

Entonces, ¿cuál es la diferencia real entre los ganchos add_filter y los ganchos add_action en WordPress?

En realidad, los "ganchos de filtro" son más o menos un superconjunto de "ganchos de acción". Los "ganchos de filtro" pueden hacer todo lo que pueden hacer los "ganchos de acción" y un poco más. Aunque el desarrollador no tiene la responsabilidad de devolver un valor con un "Gancho de acción" que hacen con un "Gancho de filtro".

Los "ganchos de filtro" básicamente definen los parámetros de una tarea, mientras que los "ganchos de acción" ejecutan tareas. Para obtener más información sobre las diferencias entre los ganchos "add_filter" y los ganchos "add_action", consulte esta documentación oficial de WordPress en la sección de desarrolladores en WordPress.org.