Identificando origem de um hook personalizado no WordPress

  • Autor Autor Luisin
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Luisin

Luisin

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

Inserir CODE, HTML ou 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... 😡
Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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 edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Es una función anónima, por lo que creo que si usas

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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:
Inserir CODE, HTML ou 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 edição:

Tópicos similares

W
Respostas
5
Visitas
662
waltervera78
W
Voltar
Topo