• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral primaria
  • Saltar al pie de página
Logo Empresarial Ecdisis Estudio

Ecdisis Estudio

Diseño Gráfico, Diseño Web, Marketing Digital

  • Ecdisis Estudio
  • Servicios
    • Diseño Gráfico
    • Diseño de Logotipo
    • Diseño Web
    • Marketing Digital
    • Promocionales
    • Fotografia
    • Video
    • Eventos
    • Streaming
  • Proyectos
  • Blog
  • Contacto

¿Qué son los Hooks de WordPress?

21 noviembre, 2020 por Ecdisis Estudio

¿Qué son los Hooks de WordPress?

¿Te imaginas que puedas hacer cambios en la funcionalidad de WordPress sin modificar sus archivos fuente?, pues eso es precisamente los que nos permiten los Hooks. La palabra Hook se puede traducir como gancho, la idea es «enganchar nuestro código adicional» en los ganchos que están disponibles a lo largo de todo el código WordPress, y evitar hacer modificaciones a sus archivos directamente.
Usar tu código adicional a través de Hooks te permite conservar las modificaciones que realices luego de una actualización de WordPress.

Tipos de Hooks

Existen dos tipos de Hooks, las acciones y los filtros, ambos son muy parecidos en su estructura y forma de usarlos, sin embargo difieren en el valor que retornan.

Action Hooks

Las acciones te permiten agregar funcionalidad, ejecutando tus propias funciones en un determinado punto, por ejemplo llegado a un punto:

  • Insertar scripts
  • Mostrar un formulario
  • Validar un usuario
  • Imprimir un mensaje, etc

Como ves, si encuentras un punto en donde puedas trabajar con un Action Hook, no estás restringido a devolver algún tipo de valor particular.

En los archivos de WordPress para localizar en donde puedes insertar un Action Hook debes buscar la función do_action(), luego, puedes hacer referencia a tu código a través de una función llamada add_action, tal como se ve en la siguiente imagen:
Ejemplo Action Hook

 Sintaxis de add_action

add_action( string $hook, callable $tu_funcion, int $prioridad = 10, int $args = 1 )

Como ves, los parámetros requeridos son los dos primeros, el nombre del hook y el nombre de tu función, los otros dos parámetros son opcionales, indican la prioridad de ejecución y la cantidad de argumentos pasados a la función.

Filter Hooks

Los filtros, al igual que las acciones, nos permiten ejecutar una función personalizada en un determinado punto, sin embargo la función que usemos tendrá un parámetro de entrada, dentro de nuestra función haremos modificaciones al parámetro y finalmente volveremos a retornar el parámetro.

Algunos valores devueltos por los filtros son por ejemplo:

  • Cadenas de texto
  • Arrays

En los archivos de WordPress para localizar en donde puedes insertar un Filter Hook debes buscar la función apply_filters(), luego, puedes hacer referencia a tu código a través de una función llamada add_filter, tal como se ve en la siguiente imagen:
Ejemplo Filter Hook

 Sintaxis de add_filter

add_filter( string $hook, callable $tu_funcion, int $prioridad = 10, int $args = 1 )

Al igual que una acción, en el caso de un filtro los parámetros requeridos son los dos primeros, el nombre del hook y el nombre de tu función, los otros dos parámetros son opcionales.
Para usar un filtro, al construir tu función, tendrás al menos un parámetro de entrada por defecto, el cual deberás devolverlo luego de modificarlo.

Usando Hooks

En el siguiente ejemplo aprenderás cómo reemplazar el título de una entrada, lo podrás hacer usando tanto acciones como filtros.
Usando Acciones


add_action( 'the_post', 'dcms_cambiar_objeto_post' );
function dcms_cambiar_objeto_post( $post_object ) {
	// print_r($post_object);
	$post_object->post_title = str_replace('Hola', 'Hi', $post_object->post_title);
}

En el código anterior:

  • Usamos el Action Hook the_post que hace referencia a la función dcms_cambiar_objeto_post
  • La función dcms_cambiar_objeto_post por defecto tiene un parámetro que es el objeto post
  • Podemos ver toda lo que contiene el objeto con la función print_r
  • En el ejemplo estamos cambiando el título, si encuentra el texto «Hola» lo cambia por «Hi»
  • No necesitamos retornar ningún valor porque el objeto se pasa por referencia

Usando Filtros


add_filter( 'the_title', 'dcms_filtro_titulo' );
function dcms_filtro_titulo( $titulo ) {
    $titulo = str_replace('Hola', 'Hi', $titulo);
    return $titulo;
}

En el código anterior:

  • Usamos el Filter Hook the_title que hace referencia a la función dcms_filtro_titulo
  • La función acepta el texto del título como parámetro por defecto
  • Cambiamos la variable $titulo, si encuentra el texto «Hola» lo cambia por «Hi»
  • Finalmente es necesario retornar el valor de la variable $titulo

¿Cómo localizar Hooks?

Una forma para localizar los Hooks que quieres modificar es navegando en el código fuente de WordPress, sin embargo otra opción es usar un sitio web como Hookr que te ofrece un índice de los hooks disponibles de acuerdo a la funcionalidad.

Archivado bajo: Actualidad, Diseño Web, E-Commerce, Marketing, Marketing Digital, Sitios Web, Tecnologías, Tips Etiquetado con: Actualidad, Diseño Web, Ecommerce, Marketing, Marketing Digital, Sitios Web, Tips

Barra lateral primaria

ENTRADAS RECIENTES

  • Agencias de marketing digital en México: ¿Qué son, cuándo contratarlas y por qué elegir Ecdisis Estudio?
  • Servicios de anuncios publicitarios: ¿Qué son, cuándo usarlos y por qué contratar a Ecdisis Estudio?
  • Despacho de diseño: ¿Qué es, cuándo lo necesitas y por qué contratar a Ecdisis Estudio?
  • ¿Cuánto cuesta una página web? Descubre los factores clave y por qué contratar a Ecdisis Estudio
  • ¿Cuánto cuesta hacer una página web? Todo lo que necesitas saber antes de contratar a una agencia profesional

CATEGORÍAS

  • Actualidad
  • Diseño Gráfico
  • Diseño Web
  • E-Commerce
  • Marketing
  • Marketing Digital
  • Redes Sociales
  • Sitios Web
  • Tecnologías
  • Tienda en línea exitosa
  • Tips

Footer

Ecdisis Estudio

Aviso de Privacidad

Términos y Condiciones

MENÚ

  • Ecdisis Estudio
  • Servicios
  • Blog
  • Contacto

SERVICIOS

  • Diseño Gráfico
  • Diseño de Logotipo
  • Diseño Web
  • Marketing Digital
  • Promocionales

CONTACTO

hola@ecdisis.com

(55) 4438 5937

(55) 3242 4772

(55) 4987 1464

  • Facebook
  • YouTube
  • Instagram
  • LinkedIn
Copyright © 2025 - Ecdisis Estudio