Filtros en wordpress

5hQUwMpjWX8

Añadir_filtro

Contents

Los hooks de WordPress vienen en dos sabores, hooks de acción y hooks de filtro: las acciones permiten llamar a ciertas funciones en la ejecución del tema y los filtros modifican (o sobrescriben completamente) cierto código pasado a una función o enviado a la pantalla del navegador.

Por ejemplo, con los ganchos de acción podrías añadir un trozo de código HTML a la cabecera en todas las páginas sin tener que tocar la plantilla header.php, por ejemplo, para mostrar una imagen. Un ejemplo más complejo sería mostrar una imagen en la cabecera de las páginas de categorías, teniendo una imagen diferente para cada categoría.

Algunos plugins requieren que se añada una llamada a una función PHP a los archivos de la plantilla. Breadcrumb NavXT es uno de ellos. Puede utilizar ganchos para añadir una función PHP sin tener que editar la plantilla. El ejemplo siguiente añadirá la función breadcrumb en el hook post_start de la página de una entrada.

Notarás algunas diferencias aquí en comparación con los hooks de acción. Por ejemplo, los filtros siempre reciben al menos una variable, y puedes modificar el contenido de esta variable, o como en el ejemplo anterior, descartarla devolviendo otra cosa. Veamos un ejemplo en el que también se devuelve la variable, junto con un parámetro extra, invirtiendo el orden de las entradas mostradas en una página de Categoría de Consulta:

WordPress donde poner add_filter

Algo que suele confundir a los desarrolladores cuando empiezan a trabajar con WordPress es el uso de apply_filters() y add_action(). A menudo verás plugins/temas que hacen uso de ellos en el código y si no entiendes el concepto, te resultará difícil trabajar con ellos.

Si eres un desarrollador y trabajas con un archivo de funciones, puedes ver que ambas se cargan antes en el proceso que los archivos con los que estás trabajando. Esto significa que no puedes modificar los procesos (ten en cuenta que no puedes sobrescribir las funciones) o las variables que se ejecutan más tarde o que aún no han sido definidas. También los desarrolladores de temas pueden colocar ganchos en su código para permitir que los plugins se enganchen a ellos o los plugins pueden permitir que otros plugins sobrescriban sus variables. Ahora bien, esto puede ser confuso hasta ahora, pero aguante.

Cuando encuentre lo anterior en WordPress, llamará a cualquier función adjunta al hook im_a_hook (busque $wp_filter para información sobre el proceso). En su función adjunta $arga estará disponible para que la función adjunta trabaje con ella.

Explicación de los filtros de WordPress

En los primeros días de mi vida profesional, cuando acababa de empezar con WordPress como tecnología elegida, oía a mis superiores y colegas utilizar ciertas palabras llamadas "HOOK", "ACTION", "FILTER". Sin embargo, en ese momento, no podía entender bien estas palabras.

Al principio, pude aplicar estas acciones y filtros en archivos separados basados en el tema de WordPress; sin embargo, no pude entenderlo bien, pero con el tiempo, cuando empecé a trabajar en WordPress muy de cerca, entendí estas palabras.

Creo que los desarrolladores de WordPress en ciernes podrían enfrentarse a problemas similares con las acciones y los filtros. Por lo tanto, he escrito este blog para aliviar su dilema y aclarar estos aspectos críticos como desarrolladores de WordPress.

Nota: Para ampliar la funcionalidad de WordPress, utilizamos la API de plugins que proporciona WordPress, que son dos elementos básicos, acciones y filtros, y estas acciones y filtros se denominan Actions Hook o Filter Hook. Aunque ambos son conceptualmente bastante diferentes, la implementación práctica de estos dos es casi la misma. Así que el gancho cubre tanto la parte acción como el filtro; sin embargo, ambos son ligeramente diferentes entre sí. Lo he explicado con más detalle a continuación.

Usar el filtro de wordpress

Cuando estaba aprendiendo a usar los hooks en WordPress y el tema Customizr, me cansé de buscar artículos que explicaran las acciones, los filtros y los hooks, en términos sencillos. La mayoría de los artículos son complejos, están escritos para desarrolladores y empiezan así:

Las acciones y los filtros te permiten añadir tu propia funcionalidad o modificar el comportamiento de tu sitio web enganchando una función de devolución de llamada a una etiqueta específica en el código del núcleo, estableciendo prioridades y utilizando parámetros y argumentos pasados a la función de devolución de llamada.

Una página de WordPress se compone de un montón de funciones y consultas a la base de datos, con WordPress y el tema trabajando juntos para producir texto, imágenes, hojas de estilo y otros archivos. El navegador interpreta todo esto y lo pone todo junto en una página web.

Espera, ¿qué? ¿Pensaba que este era un artículo sobre acciones, filtros y ganchos? En vez de eso, ¿estamos hablando de arrogantes mejoradores del hogar? Pues sí. Son formas de entender lo que ocurre cuando se usan acciones y filtros.

Esto le dice a WordPress que cree un hook llamado 'after_gill_arrives', que ejecute cualquier acción que esté adjunta a este hook, y que pase los argumentos $gill_has_keys y $gill_has_car a esas acciones (los 2 argumentos que especificamos arriba).

Subir