Icono del sitio Imacreste

Hooks o conectores de WordPress: add_filter y add_action

Los hooks o conectores de WordPress permiten ejecutar funciones en momentos concretos del proceso de WordPress y de este modo modificar su funcionamiento y / o el resultado clásico de ese proceso. Estos conectores son la forma óptima de modificar y ampliar las funcionalidades de WP mediante plugins o el fichero functions.php.

Acciones y filtros

Los conectores se separan en 2 tipos: Acciones y filtros, las acciones se ejecutan mediante eventos de WordPress. Por ejemplo, cuando publicamos una nueva entrada se ejecuta un conector de acción. Y los conectores de filtro se usan para modificar contenido antes de mostrarlo por pantalla, guardar en la base de datos, o llamar a otra función. Por ejemplo, cuando vamos a pintar por pantalla el the_title() de una entrada antes queremos comprobar el número de caracteres del título.

add_filter( 'the_title', ' nombre_funcion' );
function nombre_funcion($var){
//tareas
return $var;
}
//Este ejemplo antes de llamar a la función the_title(), pasa por esta función

Estas funciones pueden tener hasta cuatro parámetros, siendo solo los 2 primeros obligatorios:

add_filter( ‘the_title’, ‘ nombre_funcion’ , prioridad, n_parametros);

  1. El nombre del filtro o acción.
  2. Nombre de la función que se ejecuta.
  3. Prioridad de la misma, imagina que hay 5 plugins llamando al mismo hook?
  4. Y número de argumentos que acepta la función

Además de la diferencia de funcionalidad entre los filtros y acciones, en cuanto a las funciones hay que tener en cuenta que los hooks de acción no requieren variables ni devuelve valores, pero las de filtro si (recuerda que sustituyen el comportamiento de esas variables y hay que devolverlas con los cambios realizados).

add_action('comment_post','email_nuevo_coment');
function email_nuevo_coment(){
wp_mail('imacreste@gmail.com','nuevo comentario', 'Tienes un nuevo comentario en tu blog')
}

En el ejemplo vemos que cada vez que se publica un nuevo comentario en una entrada, enviamos un mail de notificación a mi correo.

Hooks de filtro más habituales

Lo mejor es revisar las funciones en función de las necesidades en:

https://developer.wordpress.org/

Hooks de acción más habituales

Lo mejor es revisar las funciones en función de las necesidades en:

https://developer.wordpress.org/reference/

Salir de la versión móvil