Action
Un Action es un hook que dispara código en un momento concreto. La diferencia clave con un Filter es que no devuelve nada: simplemente ejecuta.
¿Dónde se registra?
En functions.php o en el archivo principal del plugin, usando add_action().
add_action( 'nombre_del_hook', 'mi_funcion' );
function mi_funcion() {
// código que se ejecuta cuando se dispara el hook
echo '<p>Hola desde el footer</p>';
}
// Ejemplo real: añadir algo al footer
add_action( 'wp_footer', 'mi_mensaje_footer' );
function mi_mensaje_footer() {
echo '<div class="aviso">Sitio en mantenimiento los lunes</div>';
}
Actions con argumentos
Algunos hooks pasan argumentos al callback. Hay que declarar cuántos se aceptan:
// save_post pasa 3 argumentos: $post_id, $post, $update
add_action( 'save_post', 'al_guardar_post', 10, 2 );
function al_guardar_post( $post_id, $post ) {
// $post_id = ID del post guardado
// $post = objeto WP_Post
error_log( 'Post guardado: ' . $post_id );
}
Diferencia con Filter
| Action | Filter |
|---|---|
| Ejecuta código | Modifica un valor |
| No devuelve nada | Siempre devuelve algo |
| add_action() | add_filter() |
| do_action() | apply_filters() |
