Todo lo que necesitas saber sobre los ganchos de WordPress
Publicado: 2015-07-11¿Enganchado a los ganchos de WordPress?
Están sucediendo muchas cosas bajo el capó mientras WordPress trabaja para representar el componente necesario para su sitio web. Cada página se compone de bastantes funciones y consultas a la base de datos. El núcleo de WordPress y el tema funcionan juntos para generar texto, imágenes, hojas de estilo y otros archivos. Con la ayuda del navegador, todas estas piezas se interpretan y se juntan en una página web. Los ganchos brindan la capacidad de personalizar, ampliar y mejorar WordPress.
Los ganchos se nombran apropiadamente porque literalmente podemos "conectarnos" a WordPress para recuperar, insertar o modificar datos, o realizar otras tareas entre bastidores. En cierto sentido, "colgamos" nuestro código personalizado en esos ganchos. Como sabemos, modificar el núcleo de WordPress no es una buena idea. Debido a esto, los enlaces de acción y los enlaces de filtro en WordPress son la mejor manera de cambiar la funcionalidad existente o crear una nueva.
tipos de anzuelos
Los ganchos son una pieza necesaria a la hora de realizar personalizaciones. Hay dos tipos principales de ganchos: ganchos de acción y ganchos de filtro. Cada uno ofrece algo diferente, por lo que es importante entender cuándo usar cuál.
Un anzuelo no se puede lanzar simplemente en cualquier lugar; tiene que haber algo a lo que “engancharse”. Tener ese punto de ejecución para ese gancho es necesario. La buena noticia es que en todo el núcleo de WordPress hay ganchos integrados que están disponibles para hacer referencia.

¿Por qué usar ganchos?
Se puede cambiar mucho con los ganchos porque muchas de las funciones principales de WordPress usan acciones y filtros. Comprender los ganchos es absolutamente necesario para cualquiera que desarrolle con WordPress y para los diseñadores que quieran modificar WordPress o el comportamiento del tema.
Ganchos de acción
Los ganchos de acción indican que algo ha sucedido, que no debe confundirse con los eventos en sí. Las acciones se desencadenan por eventos específicos que tienen lugar en WordPress. Un ejemplo de un evento podría ser cosas como publicar una publicación, cambiar temas o activar un complemento. Las acciones le permiten agregar funciones adicionales en un punto específico del procesamiento de la página. Los ganchos de acción pueden hacer cosas como:
- Modificar datos en la base de datos de WordPress
- Modificar lo que se muestra en el navegador
- Enviar un correo electrónico cuando haya ocurrido un evento
- Agregar un widget, un menú o un mensaje personalizado a la página

Ejemplo de gancho de acción
add_action( $hook, $function_to_add, $priority, $accepted_args );
Los parámetros requeridos de la función add_action son el enlace y la función para agregar. Incluir la prioridad es opcional. Con un valor entero basado en una escala de 1 a 999, este número determina el orden de prioridad de las funciones para ese enlace específico. Puede que no lo necesite, pero el último parámetro se usa cuando necesita pasar o aceptar varios argumentos.
Echemos un vistazo a un gancho de acción básico:
// This is the function, name it accordingly
function custom_welcome_text() { ?>
<div class="optional-custom-class">Hello WordPress!</div>
<?php }
// Action function that outputs the function above into the theme hook
add_action( 'welcome_hook', 'custom_welcome_text', 5 );
Este enlace básico agregará "Hola WordPress" en la parte superior de la página. Tiene una prioridad de 5. Los números más bajos corresponden a una ejecución anterior. De forma predeterminada, se establece en 10, por lo que este ejemplo se ejecuta antes que el valor predeterminado.

Ganchos de filtro
Repasemos un escenario común y cómo entran en juego los ganchos de filtro. Piense en todas las veces que sus usuarios visitan su sitio y se carga una publicación para que la lean. Como parte del ciclo de vida de la página de WordPress, WordPress consulta la base de datos para esa publicación, luego se devuelve al navegador, lista para que el usuario la lea. Todo suena simple, pero antes de que se sirva el contenido, WordPress ejecuta los datos a través de los filtros que se han establecido. Estos ganchos de filtro se pueden crear fácilmente cuando sea necesario.
Piénselo de esta manera: las acciones se desencadenan por eventos específicos, pero los filtros permiten la interceptación y modificación de los datos a medida que se procesan. Los ganchos de filtro se utilizan cuando necesita interceptar, administrar o devolver datos antes de presentarlos en el navegador o guardar datos del navegador en la base de datos. Por ejemplo, es posible que desee insertar otra clase CSS en un elemento HTML de WordPress o registrar tipos de metacampo adicionales. Ambos pueden ejecutarse con un gancho de filtro.

Los filtros se ubican entre la base de datos y el navegador cuando WordPress genera páginas. Además, se ubican entre el navegador y la base de datos, ya que WordPress agrega nuevas publicaciones y comentarios a la base de datos. Debido a esto, los ganchos de filtro pueden hacer cosas útiles como:
- Agregar datos a la base de datos o enviar a la pantalla del navegador
- Manipule los datos que salen de la base de datos antes de que ingresen al navegador o que provienen del navegador antes de ingresar a la base de datos.
Ejemplo de gancho de filtro
En el siguiente ejemplo, veremos cómo funciona un gancho de filtro en el contenido. Este enlace se activa justo antes de que se use el contenido, se coloque en la base de datos o WordPress lo procese para verlo en pantalla. Esto altera los datos cuando se activa el gancho del filtro.
La función add_filter es lo que necesitamos para conectar un filtro. Los argumentos pueden parecerle familiares, el add_filter es el mismo que el de add_action . Ahora conectemos el filtro de WordPress the_content, que se llama antes de que se muestre el contenido de cualquier publicación. En este ejemplo simple, el filtro nos permitirá agregar una nota de derechos de autor a cada publicación. En este punto, los filtros tomarán medidas sobre los datos que se les pasan.
add_filter( 'the_content', 'add_copyright_notice' );
function add_copyright_notice( $content )
{
return $content . " <br>This content is copyrighted.";
}
Tenga en cuenta que cuando usa un filtro, siempre debe devolver algo o las cosas se romperán.
Agregar ganchos a un tema
Al agregar ganchos y filtros al tema, asegúrese de estar trabajando en un tema secundario. La razón principal es que si está trabajando en el tema principal, estas modificaciones podrían sobrescribirse si hay una actualización de los archivos del tema.
Es de esperar que tenga una mejor comprensión de los ganchos, lo que pueden hacer y cómo pueden ayudar. Los ganchos pueden ser muy simples, muy complejos o intermedios. Una vez que tenga los conceptos básicos, se enganchará en poco tiempo.
