Para buscar en la web todos los hooks darle arriba del todo a "Core" y luego ya buscar filtrando.
Desde code snippets creas uno nuevo:
// con esta funcion añado un nuevo meta al head
function add_new_meta_al_head() {
echo "<meta name='lsg' content='lsg'>";
}
add_action("wp_head", "add_new_meta_al_head", 10,0);Otro Ejemplo:
function lsg_add_coletilla_to_post( $post_object ) {
$post_object->post_title = $post_object->post_title." COLETILLA AL TITULO";
}
add_action( 'the_post', 'lsg_add_coletilla_to_post' );
Ejemplo para filtrar contenido y poder modificarlo.
Desde Code snippets creamos uno nuevo:
// este ejemplo add más texto a cada uno de los post de la web
function filter_the_content( $post_post_content ) {
return $post_post_content." y esto lo añado yo por mi cuenta";
};
add_filter( 'the_content', 'filter_the_content', 10, 1 );
Otro ejemplo de add_filter:
function modifica_texto($contenido) {
return str_replace("hola", "adios", $contenido);
}
add_filter('the_content','modifica_texto');
Una forma sencilla de entender la diferencia entre add_action y add_filter es que add_filter devuelven siempre un valor, que es el resultado de modificar el argumento que han recibido.
Luego está do_action que la principal diferencia con add_action es que se lanza una vez se haya ejecutado la acción, por ejemplo:
// Se ejecuta una vez que un post haya sido actualizado
do_action( 'post_updated', $post_ID, $post_after, $post_before);
// Se ejecuta una vez que un post haya sido salvado
do_action( 'save_post', $post_ID, $post, $update );
// Se ejecuta una vez que un nuevo post haya sido dado de alta
do_action( 'wp_insert_post', $post_ID, $post, $update );
También gracias a la combinación de add_action con do_action podemos crear nuestras propias funciones personalizadas, por ejemplo si ponemos:
add_action('funcionLSG', 'ejecutarLSG');
function ejecutarLSG(){
echo 'Hola mundo';
}
No se ejecutará nunca pues esta acción no está asociada a ningún hook del wordpress.
Pero si añadimos:
do_action('funcionLSG');
Ya sí que se ejecutará justo en el sitio dónde hayamos puesto ese do_action.
Incluso hasta se le pueden pasar parámetros:
add_action('funcionLSG', 'ejecutarLSG');
function ejecutarLSG($varAux){
echo 'Hola mundo '.$varAux;
}
do_action('funcionLSG', "pepe");
Listado de todas las acciones y filtros que hay en Wordpress:
https://codex.wordpress.org/Plugin_API/Action_Reference
https://codex.wordpress.org/Plugin_API/Filter_Reference
Ejemplos de acciones y filtros con hooks:
https://blog.teamtreehouse.com/hooks-wordpress-actions-filters-examples
https://www.smashingmagazine.com/2009/08/10-useful-wordpress-hook-hacks/

No hay comentarios:
Publicar un comentario