Identificando origen de un hook personalizado en WordPress

  • Autor Autor Luisin
  • Fecha de inicio Fecha de inicio
Luisin

Luisin

Ni
SEO
Verificación en dos pasos activada
Recuperando un sitio muy viejo, le hice un upgrade y tengo esto en el functions:

Insertar CODE, HTML o PHP:
add_action('__before_body', function () {
  echo '<script type="text/javascript">var global_page_url = "' . get_the_permalink() . '"; var global_url = "' . get_home_url() . '" </script>';
});

Que increíblemente funciona, el asunto es que el theme esta pelado es decir tiene los plugins basicos Yoast y cache. Increiblemente funciona como deberia.
Ahora el asunto es que no se de donde saque ese hook! no esta en el listado de WP ni en deprecated, ni en el theme que yo mismo hice, es bastante simple.... me harte de buscar. Y sigue funcionando!!!!! Parece brujeria jaja... Maldito alzehimer 😆

Ni la IA ayuda... 😡
Insertar CODE, HTML o PHP:
Hasta mi última actualización en septiembre de 2021, WordPress no tiene un hook llamado __before_body. Los hooks en WordPress son puntos de enganche que te permiten alterar el comportamiento del core de WordPress, los temas o los plugins sin modificar directamente su código. Existen dos tipos de hooks: acciones y filtros.

Por lo tanto, __before_body parece ser un hook personalizado que se ha definido en el tema o plugin que estás usando. Un hook con un nombre como __before_body probablemente se ejecuta justo antes del elemento body en la estructura de tu página.

Que obviamente reemplace con el hook correcto:

Insertar CODE, HTML o PHP:
add_action('wp_head', function () {
  echo '<script type="text/javascript">var global_page_url = "' . get_the_permalink() . '"; var global_url = "' . get_home_url() . '" </script>';
});

Y funciona, pero con esto y la ansiedad que tengo voy a estar dias pensando en eso...
 
Última edición:
Es una función anónima, por lo que creo que si usas

Insertar CODE, HTML o PHP:
add_action('pepito_juanito', function () {
  echo '<script type="text/javascript">var global_page_url = "' . get_the_permalink() . '"; var global_url = "' . get_home_url() . '" </script>';
});

También te va a funcionar.

Solo hay que saber preguntarle a mi compa bender:
1685634672802.webp
 
EDIT: AHHHHHH ya descubrí jeje, tenia en mi template una llamada a ese hook que efectivamente yo mismo había creado. Pero que no habia visto que estaba ahi!!!! la edad hace estragos...

Para el que no entienda.
Yo cree mi propio action:

Insertar CODE, HTML o PHP:
add_action('__before_body', function () {
  echo '<script type="text/javascript">var global_page_url = "' . get_the_permalink() . '"; var global_url = "' . get_home_url() . '" </script>';
});

Y en mi template lo llame:
Insertar CODE, HTML o PHP:
{% do action('__before_body') %}

Uso Twig...
😎😆

Jamas usaba acciones personalizadas, por eso no estaba en mi lista de posibles problemas, supongo que era joven y no me importaba nada...
 
Última edición:

Temas similares

W
Respuestas
5
Visitas
662
waltervera78
W
Atrás
Arriba