Cargando

Ir a contenido


 


Como utilizar Hooks en WordPress

Muchas veces nos encontraremos, al programar nuestras aplicaciones, que necesitamos realizar una tarea en todas las paginas por igual, en un mismo momento. Para evitar tener que estar copiando y pegando el mismo código, podemos utilizar hook o ganchos que son módulos que se utilizan sin programar casi nada.


Escrito por el sep 23 2014 15:11 wordpress hooks


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.


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:También podes añadir el mismo ejemplo cuando se guarde un comentarios en la base de datos:

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
  • -
  • 0
9.2
VOTA
5
60%
4
40%
3
0%
2
0%
1
0%

  Información

  •   Publicado sep 23 2014 15:11
  •   Actualizado sep 23 2014 15:13
  •   Visitas 645
  •   Nivel
    Intermedio



Tutoriales Relacionados


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
Demuestra que eres experto!
  ESCRIBIR TUTORIAL
Suscribirse