Como crear un nuevo hook en WordPress

Todo desarrollador de plantillas debe saber que los temas de WordPress se estructuran en posiciones, ganchos o hooks.

En WordPress hay dos tipos de hooks: acciones y/o filtros. En este artículo solamente vamos a hablar de las acciones, ya que son generalmente más simples, pero todas sus lecciones se pueden aplicar a los filtros sin mucha dificultad.

Los ganchos o hooks son funciones, un buen ejemplo es wp_head(). Esta función está definida en wp-includes/general-template.php y las plantillas de WordPress lo utilizan principalmente para añadir scripts y hojas de estilo en la cabecera.

Su implementación es muy sencilla:

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

 

La función do_action hace el trabajo duro, añadiendo la función wp_head en el sistema de ganchos de WordPress.

Si quieres ir más allá, siempre puedes añadir tus propios hooks para hacer más personalizable y flexible tu plantilla. Es increíblemente sencillo añadir nuevos ganchos de la misma manera.

En el ejemplo vamos a añadir una nueva posición por encima del footer de nuestra página.

Hay tres pasos para añadir un gancho a medida en un tema.

En primer lugar, agrega la función de enlace en el functions.php de tu plantilla:

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

 

En segundo lugar, agrega la acción a tu tema en el lugar donde desea que se ejecute. En nuestro caso, agregaremos lo siguiente en el footer.php en el lugar que corresponda:

<?php pre_footer(); ?>

 

Finalmente podemos añadir acciones a nuestro nuevo gancho de la siguiente forma en el functions.php:

function output_text() {
    echo '<p>Your text.</p>';
}
 
add_action('pre_footer','output_text', 5);

Ahora en el tema aparecerá un párrafo con el texto “Your text” antes del pie de página.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Comparte en las redes sociales

Escrito por Jose Aguilar - Experto programador Prestashop y Wordpress.

One comment on “Como crear un nuevo hook en WordPress

Deja un comentario

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

*