En palabras simples.
Acciones son las funciones de PHP que ejecutan la salida.
Filtros son las funciones de PHP que devuelven el resultado.
Actualizado: Podemos extender cualquier complemento que use las acciones y los filtros sin modificar el código. Agregando filtros y acciones en nuestro propio tema o complemento.
¿Cómo usarlo?
Acción:
Revise los ejemplos simples a continuación en su archivo de tema functions.php
.
- Ejemplo uno: (Ejemplo de PHP simple)
function test() {
echo "Output";
}
test();
El programa anterior imprime la salida:
Output
[NOTA: Aquí la prueba () simplemente llama a la función. Y ejecute la función de devolución de llamada 'prueba'.]
- Ejemplo dos: (uso simple de la acción)
function test1() {
echo "Output";
}
add_action( 'test', 'test1' );
do_action( 'test' );
El programa anterior imprime la salida:
Output
[NOTA: Aquí do_action('test')
funciona como una función de llamada. Y ejecute la función de devolución de llamada 'test1'.]
- Ejemplo Tres: (Otro uso de Acciones)
function test2() {
echo "Test 2";
}
add_action( 'test', 'test2', 1 );
function test1() {
echo "Test 1";
}
add_action( 'test', 'test1', 2 );
do_action( 'test' );
El programa anterior imprime la salida:
Test 2Test 1
[NOTA: Aquí do_action('test')
funciona como una función de llamada. Y ejecutar funciones de devolución de llamada en sus prioridades.
La función de devolución de llamada 'test1' tiene prioridad 2 Y 'test2' tiene prioridad 1.]
Si las prioridades cambian como 'test1' con prioridad 1 y 'test2' con prioridad 2, la salida será:
Test 1Test 2
- Ejemplo Cuatro: (soporte de terceros)
Agregue el siguiente código en
functions.php
function test1() {
do_action( 'test_before' );
echo "Test 1";
do_action( 'test_after' );
}
add_action( 'test', 'test1' );
do_action( 'test' );
El programa anterior imprime la salida:
Test 1
Ahora, crea un complemento de ejemplo para ver cómo funciona para un desarrollador externo.
- Cree la carpeta 'simple' en el directorio
/wp-content/plugins/
.
- Cree un archivo llamado 'simple.php' y agregue el siguiente código.
/*
* Plugin Name: Simple Plugin
*/
function test_callback_function() {
echo "From plugin";
}
add_action( 'test', 'test_callback_function' );
Ahora, active nuestro complemento simple desde el panel de administración de WordPress
Ir al complemento del menú y activarlo.
Después de activar el complemento anterior, el programa imprime el resultado:
Test 1From plugin
[NOTA: Si agregamos la prioridad para nuestra acción de complemento del 1 al 9, imprimimos la salida como:
From pluginTest 1
Porque, WordPress considera el 10 priority by default
para todas las acciones agregadas.]
Filtros
Revise los siguientes ejemplos:
Ejemplo de PHP simple:
$data = array( 'one', 'two' );
print_r( $data );
El programa anterior imprime la salida:
Array ( [0] => one [1] => two )
- Ejemplo uno: (uso simple del filtro)
$data = apply_filters( 'my_filter_name', array( 'one', 'two' ) );
print_r( $data );
add_filter( 'my_filter_name', function( $old_data ) {
return array( 'three', 'four' );
});
El programa anterior imprime la salida:
Array ( [0] => three [1] => four )
Aquí, hemos agregado el filtro my_filter_name
y cambiamos la salida existente array( 'one', 'two' )
con array( 'three', 'four' )
sin cambiar los archivos de tema / complemento.