Los Hooks son una funcionalidad que incorporan muchos cms y sistemas como wordpress o prestashop, codeigniter, entre otros que permite modificar una funcionalidad de WordPress que nos permite, a grandes rasgos, añadir o modificar el comportamiento habitual de éste sin la necesidad de modificar el código propio de WordPress.
Existe dos tipos de hook, los action hooks o acciones y los filter hooks o filtros.
Las acciones son los hooks que WordPress aplica en puntos específicos durante la ejecución, o cuando un evento especifico tiene lugar. Así podremos definir funciones que se ejecuten en ese evento determinado. Los action hooks se utilizan habitualmente para modificar datos en la base de datos, enviar un e-mail, modificar el front-end o el escritorio de administración.
Necesitamos que cuando se haya publicado un nuevo post nos envíe un email. Para ello crearemos nuestra función en php, que nos envié un mail con el id del post creado.
Podemos crearlo en el archivo functions.php que trae cualquier plantilla wordpress
Luego aplicamos la función al hook publicar_post ya predeterminado en wordpress:
add_action('publish_post', 'enviar_email');
Los hook se pueden ver en:
Ejemplo de hook de filtro
Los filtros son los hooks que WordPress aplica para modificar diferentes tipos de texto antes de añadirlos a las base de datos o enviarlos al navegador.
Necesitamos que se envie un mail pero interpretado como html.
Para desactivar los hook se utiliza el comando remove:
Ahora algunos ejemplos e ideas Útiles que podemos utilizar.
Muchos usan Google Analytics para poder medir las visitas de sus sitios web o blogs, para facilitar la tarea del usuario, un desarrollador puede crear un plugin que permita añadir el código de Google Analytics al blog sin la necesidad de entrar a editar o ver el código de la plantilla.
Reutilización de funciones en los Hooks
Una de las principales ventajas de este sistema es la facilidad de reutilización de funciones que ya hubiéramos definido anteriormente, o incluso fuera de WordPress, por que es tan simple como copiar y pegar.
Siempre que la función esté escrita en pHp podremos utilizarla en cualquier hook, sólo necesitaremos añadir el hook para que wordpress sepa donde aplicarla.
Existe dos tipos de hook, los action hooks o acciones y los filter hooks o filtros.
Las acciones son los hooks que WordPress aplica en puntos específicos durante la ejecución, o cuando un evento especifico tiene lugar. Así podremos definir funciones que se ejecuten en ese evento determinado. Los action hooks se utilizan habitualmente para modificar datos en la base de datos, enviar un e-mail, modificar el front-end o el escritorio de administración.
Ejemplo de Hook de acción
Necesitamos que cuando se haya publicado un nuevo post nos envíe un email. Para ello crearemos nuestra función en php, que nos envié un mail con el id del post creado.
Podemos crearlo en el archivo functions.php que trae cualquier plantilla wordpress
<?php function enviar_email($post_ID) { wp_mail( 'info@midominio.com', 'Asunto', '<p>Se ha publicado un post con id: </p>'.$post_ID ); return $post_ID; ?>
Luego aplicamos la función al hook publicar_post ya predeterminado en wordpress:
add_action('publish_post', 'enviar_email');
Los hook se pueden ver en:
- Hook acción http://codex.wordpre...ction_Reference
- Hook filtro http://codex.wordpre...ilter_Reference
add_action('comment_post', 'enviar_email');
Ejemplo de hook de filtro
Los filtros son los hooks que WordPress aplica para modificar diferentes tipos de texto antes de añadirlos a las base de datos o enviarlos al navegador.
Necesitamos que se envie un mail pero interpretado como html.
<?php function envia_html(){ return 'text/html'; } add_filter( 'wp_mail_content_type', 'envia_html' ); wp_mail( 'info@midominio.com', 'Asunto', '<h1>Esto es HTML</h1>' ); ?>
Para desactivar los hook se utiliza el comando remove:
remove_filter('filter_hook','filter_function') ; remove_action('action_hook','action_function');
Ahora algunos ejemplos e ideas Útiles que podemos utilizar.
Hook para Google Analytics
Muchos usan Google Analytics para poder medir las visitas de sus sitios web o blogs, para facilitar la tarea del usuario, un desarrollador puede crear un plugin que permita añadir el código de Google Analytics al blog sin la necesidad de entrar a editar o ver el código de la plantilla.
<?php function analytics() { ?> // Aquí el código de Analytics <?php } //Añadimos la funcion al footer add_action('wp_footer', 'analytics'); ?> Hook para modificar la cabecera El hook wp_head podemos modificarlo para que por ejemplo se añada una nueva etiqueta o una hoja de estilos, en la cabecera de la web. <?php function meta () { echo '<meta name="description" content="Esto es una descripción." />'; } add_action( 'wp_head', 'meta' );?>
Reutilización de funciones en los Hooks
Una de las principales ventajas de este sistema es la facilidad de reutilización de funciones que ya hubiéramos definido anteriormente, o incluso fuera de WordPress, por que es tan simple como copiar y pegar.
Siempre que la función esté escrita en pHp podremos utilizarla en cualquier hook, sólo necesitaremos añadir el hook para que wordpress sepa donde aplicarla.
¿Te ha gustado y ayudado este Tutorial?
Puedes premiar al autor pulsando este botón para darle un punto positivo