En WordPress con los Hooks (ganchos) podemos modificar el contenido de las variables con el propósito de alterar el curso o flujo del plugin.
Estas modificaciones las hacemos con los Filters (filtros).
Debemos crear un nuevo plugin con los «Filters» y en el plugin original deben haber instrucciones como esta:
$can_add_price = apply_filters( 'filtro_antes_precio', $can_add_price, $otraVariableNecesaria );
Donde:
- $can_add_price es la variable a modificar.
- filtro_antes_precio es el nombre del filtro en el plugin original.
- $can_add_price es un argumento a pasar, que puede ser la misma variable u otro valor necesario para modificar el contenido de la variable $can_add_price en el ejemplo. Se pueden pasar unos o más argumentos según las necesidades.
En nuestro nuevo plugin escribiremos algo como:
add_filter( 'filtro_antes_precio', 'cambiar_valor_can_add_price', 10, 1 );
function cambiar_valor_can_add_price( $can_add_price )
{
$can_add_price = 5;
return $can_add_price;
}
Primero debemos escribir la función add_filter(…) la cual contiene cuatro parámetros:
- El primero debe corresponderse al nombre del filtro en el plugin original.
- El segundo es el nombre de nuestra función en el nuevo plugin.
- El tercero es la prioridad: por defecto es 10, pero podemos colocar un número igual o mayor a uno para indicar la prioridad. Mientras más pequeño sea el número mayor prioridad tendrá para ejecutarse el filtro y
- El cuarto es cuántas de las variables que envía el «Filter» en el plugin original usaremos, si una o dos, pero tienen que usarse en el orden en que están en el plugin original.
Luego escribir nuestra función cambiar_valor_can_add_price
como se muestra en el ejemplo.
Fuente:
https://developer.wordpress.org/plugins/hooks/
https://make.wordpress.org/docs/plugin-developer-handbook/hooks/creating-custom-hooks/
.