Action Hooks en Wordpress | Spin Webs ☎ 689 89 42 67

Action Hooks en WordPress

para que necesito un blog
¿Para qué necesito un Blog?
23 mayo 2020
Posicionar en búsquedas por voz
Guía para posicionar en búsquedas por voz
4 julio 2020

Action Hooks en WordPress

Action Hooks en WordPress. -Los Action Hooks en WordPress, tienen una importancia vital en la modificación o implementación de nuevas funcionalidades en WordPress ya que nos permiten modificar el código fuente de WordPress o de un Plugin sin realmente modificar el código fuente.

Qué son los Action Hooks en WordPress

WordPress tiene un ciclo de carga, que podríamos definir lo como el orden de ejecución que establece WordPress para realizar su carga completa. Este ciclo de carga, del que hablaremos en un próximo artículo, tiene una serie de ganchos preestablecidos donde podemos ‘colgar’ las funciones que añadamos a WordPress, añadir las funciones así de un modo externo es una buena práctica ya que nos permitirá actualizar el core de WordPress sin perder nuestras funciones.

Teniendo esto claro, lo siguiente es decir que en WordPress existen dos tipos de hooks: Los Action Hooks en WordPress y los Filters Hooks.

Los Action Hooks en WordPress, agregan o quitan funciones en unos determinados puntos de ejecución.

Los Filter Hooks en WordPress, modifican los datos devueltos por funciones en unos determinados puntos de ejecución.

Añadir funciones en los Action Hooks en WordPress

WordPress provee una serie de puntos de acceso o ganchos (hooks en ingles), y esto se llama así, que originales somos, porque estos, nos permiten ‘enganchar’ o ‘colgar’ de ellos nuestras propias funciones, esto funcionaría del siguiente modo, WordPress se va ejecutando con normalidad y cuando llegue a ese Hook, a ese momento dentro de la ejecución de WordPress, por así llamarlo se ejecuta la función que hemos ‘enganchado’ a ese hook

Para esto WordPress nos facilita la función add_action()

add_action( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 );

Donde:

  • $tag (requerido): El nombre del Action donde nos queremos enganchar
  • $function_to_add (requerido): Función propia a la que vamos a llamar cuando el proceso de ejecución llegue a ese punto
  • $priority (opcional): Prioridad de ejecución respecto a otras funciones que pueden también engancharse al action. El valor por defecto es 10. Valores bajos corresponden a mayor prioridad de ejecución
  • $accepted_args (opcional): Número de argumentos que la función acepta

Veamos con un ejemplo sencillo como funciona esto.

/*Hook ‘wp_footer’, y ‘engancha’ una funcion llamada ‘add_Text’ */
add_action(«wp_footer», «add_Text»);
/*Define ‘add_Text’*/
function add_Text(){
echo «Despues de que el footer se cargue, mi texto es añadido»; }

Como vemos en el ejemplo la función add_Text se ‘engancha’, al hook wp_footer de wordpress y cuando llega a la ejecución de este Action Hooks en WordPress, la funcion que hemos enganchado se ejecuta.

Otra consideración a tener en cuenta es que podemos llamar a add_action() antes de definir su propia función porque PHP evalúa todo el script antes de ejecutarlo. Esto hace que el archivo sea más fácil de leer.

Action Hooks en WordPress

Action Hooks en WordPress

Eliminación de funciones de los Action Hooks en WordPress

Para eliminar una acción de cualquiera de los Action Hooks en WordPress, WordPress provee la funcion remove_action() que posee dos parámetros requeridos.

  • El primer parámetro (requerido), es el nombre del Hook al que está conectada la función que queremos eliminar
  • El segundo parámetro (requerido), es el nombre de la función vamos a eliminar

Ademas de esto necesitamos usar la funcion add_action(), para decir cuando queremos que que ejecute la función remove_action(). Veamos un ejemplo:

/* Hook ‘init’, Cuando finalice la carga del core de WordPress, llamamos la funcion ‘remove_My_Meta_Tags’*/
add_action( ‘init’, ‘remove_My_Meta_Tags’ );
/* quitamos con la funcion ‘remove_My_Meta_Tags’ la funcion ‘add_My_Meta_Tags’ del Hook wp_head
function remove_My_Meta_Tags(){
remove_action( ‘wp_head’, ‘add_My_Meta_Tags’);
}

Una sencilla explicación del código sería usamos un add_action() para cargar una función ‘remove_My_Meta_Tags’, Cuando finalice la carga del core de WordPress (Hook init), esta funcion que hemos cargado, eliminará otra función ‘add_My_Meta_Tags’ en otro Hook distinto (wp_head).

Creación de Action Hooks en WordPress

La creación de Action Hooks en WordPress se realiza mediante la función do_action() por ejemplo.

add_action( ‘wp_head’, ‘nuevo_hook’, 10);
function nuevo_hook(){
do_action( ‘nuevo_gancho’ );
}

Intentemos explicar este código, primero vamos a enganchar al hook ‘wp_head’, una función ‘nuevo_hook’ y con el tercer argumento el ’10’, le estamos diciendo en que orden se ejecutara dentro de las funciones que estén ‘enganchadas’ al hook ‘wp_head’ en este caso en el décimo lugar.

Una vez hecho esto esto creamos nuestro propio Hook, que lo hemos llamado ‘nuevo_gancho’, con la función ‘do_action()’

Juan Lopez
Juan Lopez
Amante de los buenos usos y el código limpio en la programación web, ayudo a empresas y emprendedores a lanzar sus proyectos en Internet, analizar el entorno, buscar el mejor enfoque y las herramientas adecuadas para lograr el fin deseado. Muy comprometido con la formación y acceso universal a las tecnologías de código abierto, participo o soy fundador de diferentes canales, en donde trato de acercar la programación web al común de los mortales con cursos de diseño web enfocados única y exclusivamente al mundo laboral, real y actual,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *