Crear nuestros propios hooks para WordPress

Home » Blog » Crear nuestros propios hooks para WordPress

Los hooks de WordPress son puntos dentro del código fuente de WordPress en donde se muestra información y con la que podemos interactuar. Tenemos 2 formas de hacerlo, creando un funcionamiento mediante las acciones o modificando un Hook en su salida, es decir el resultado será el mismo lo que pasa que podemos recoger ese valor y adaptarlo a nuestras necesidades.

Ejemplo de los 2 tipos de Hooks

En primer lugar vamos a crear una acción nueva, que cuando recibamos un comentario nuevo nos mande un email:

add_action('comment_post','email_nuevo_coment');
function email_nuevo_coment(){
wp_mail('[email protected]','nuevo comentario', 'Tienes un nuevo comentario en tu blog')
}

Esta acción no modifica el funcionamiento de WordPress, solo añade una funcionalidad nueva.

Por otro lado vamos a modificar la salida del title de nuestro sitio, añadiéndole al final nuestra marca.

add_filter( 'wp_title', 'anadir_imacreste' );
function anadir_imacreste($title)
{ 
return $title . " | imacreste.com"; 
}

Como podemos observar recogemos $title y le añadimos una coletilla.

Crear nuestros propios Hooks

function prueba_action(){   
do_action('prueba_action');   
}
function texto_salida(){ 
$url=apply_filters( 'mostrar_url', esc_url( home_url( '/' ) ) );  
echo '<p>Creado por: .'.$url.'</p>';    
}
add_action('pre_footer','texto_salida', 5);

En este ejemplo hemos dado de alta un hook de acción:

function prueba_action(){    
do_action('prueba_action');    
}

Y en el siguiente código lo que hacemos es usarlo, haciendo que muestre por pantalla «creado por y la URL del sitio». Solo falta añadir en el tema en qué lugar queremos colocar este Hook de la siguiente forma:

<?php pre_footer(); ?>

Por ejemplo podemos ponerlo en el footer, para que al final tengamos el clásico creado por.

Si nos fijamos en el código fuente anterior, tenemos:

$url=apply_filters( 'mostrar_url', esc_url( home_url( '/' ) ) );

Para obtener el resultado esperado bastaría con: esc_url( home_url( ‘/’ ) ), pero hemos aprovechado a introducir un Hook de tipo filtro, y que permitirá de forma sencilla y sin modificar el funcionamiento general modificar la salida de la URL.

function cambiar_url_salida($url)
{
 $url = "prueba.com";
 return $url;
}
add_filter('mostrar_url', 'cambiar_url_salida');

En este ejemplo modificamos la URl por http://prueba.es pero podríamos no modificar la url y añadirle solo html, como por ejemplo:

function cambiar_url_salida($url)
{
 $url = "<a href='".$url."'>".$url."</a>";
 return $url;
}
add_filter('mostrar_url', 'cambiar_url_salida');

En este ejemplo mostramos la URL por defecto pero modificamos su salida añadiéndole un enlace.

Y esto es todo, si creamos plugins o temas podemos habilitar nuestros propios Hooks para que la edición del código se pueda realizar en el fichero functions.php.

Foto de Iñigo Mezo Alvarez

IÑIGO MEZO ALVAREZ (IMAcreste)


Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Las reseñas son opiniones que las personas dejan en la página local de Google. Si son positivas, estas reseñas ayudarán a mejorar la confianza y credibilidad de una marca.

Participa en nuestro sorteo enviando un email con tu nombre y el asunto «Sorteo AUDITORÍA SEO». Se realizara un sorteo cada mes.

Evaluación EXCELENTE
A base de 7 reseñas
Contactamos con Iñigo para el diseño web de nuestra tienda online y estamos encantados. Su asesoramiento, seguimiento y trato han sido excepcionales. Un verdadero crack. Recomendado al 100%. No dudes en ponerte en contacto con el.
erlantz rique
erlantz rique
19/02/2024
Un acierto quien elija a Iñigo. Autentico profesional, se preocupó en todo momento que entendiera el funcionamiento de la web. Me explicó todo las veces necesarias hasta entenderlo. Se preocupó y acertó en que la web tuviera lo que le pedí y lo hizo con creces. Muy contento con el servicio prestado. Una vez realizado el trabajo, cualquier duda que tengo me sigue ayudando. Lo recomiendo sin temor a equivocarme.
Jose Marlasca
Jose Marlasca
06/02/2024
Dió en la clave y nos dió los instrumentos que necesitábamos en esos momentos, y sobre todo entendió a la perfección lo que buscábamos. Lo mejor de web que hemos tenido en 24 años. Eskerrik asko Mezo!!
Troka Abentura
Troka Abentura
07/01/2024
Compromiso, implicación e innovación en los proyectos. Atento a las necesidades e incansable en la búsqueda de soluciones. Muy buena opción.
Jabier Fuertes Udaondo
Jabier Fuertes Udaondo
07/01/2024
Si buscas a alguien que además de hacer un diseño web moderno, responsivo y adaptado a tu sector, te explique por qué plantea el diseño web de esa manera y que te explique y ayude en posicionar tu web lo mejor posible en base a los objetivos fijados, ese es Iñigo Mezo y os lo recomiendo al 100%
Asier Hermoso
Asier Hermoso
03/01/2024
Genial trabajar con él! Además de ser muy buen profesional, experto y responsable, a destacar tanto su implicación en cada proyecto, así como su trato siempre cercano y su paciencia infinita ;) Un crack!!
itxaso zubia
itxaso zubia
15/12/2023
El plugin gratuito para integrar productos de Prestashop en Wordpress muy sencillo de utilizar y muy bien documentado, os felicito.
Fernando Cózar
Fernando Cózar
02/11/2023