Читать книгу El gran libro de desarrollo de plugins WordPress - Jhon Jairo Rincón Cardona - Страница 63
add_filter
Оглавление• $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:
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:
Como podemos ver en la siguiente imagen, el gancho de filtro con la función que hemos desarrollado funciona correctamente.
Si quiere ver todos los filter hooks que existen y aprender a utilizarlos correctamente, le recomiendo que visite la documentación oficial de WordPress: