add_action e wp_head não exibem conteúdo na seção principal

Eu tenho um grande problema. Em uma página do WordPress eu tenho uma function que gera meta tags do og. Eu quero “acrescentar” o meta gerado na seção principal. Então, eu escrevo este código:

add_action('wp_head', '_set_meta_tag'); function _set_meta_tag() { global $nome; global $descr; global $file; global $path_meta; $output = ""; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= ''; echo $output;} 

add_action('wp_head', '_set_meta_tag'); não exibe $output . Por quê?

Eu também projetei ecoar um simples “mundo do Olá”, mas nada aconteceu!

Solutions Collecting From Web of "add_action e wp_head não exibem conteúdo na seção principal"

Esse código deve ser executado antes do wp_head do wp_head ou nada acontecerá, e quando testado em um arquivo mu-plugin, ele funciona.

Eu suspeito que você está tentando ligar essa function muito tarde – talvez de dentro de um arquivo de modelo de tema após get_header (na maioria dos casos). Coloque esse código nas functions.php do functions.php ou em um arquivo de plug-in (mu-) e deve funcionar, pelo menos, na medida em que o conteúdo de eco. Eu não analisei isso para outros erros.

Eu tenho esse mesmo problema. Resolvi o problema criando meu próprio gancho.

Este é o meu arquivo header.php . Meu gancho é colocado antes de wp_head()

 < ?php my_doc_head(); ?> < ?php wp_head(); ?>  

Este gancho e a function de retorno de chamada adicionada ao gancho são definidos na minha function.php .

 function my_doc_head() { do_action('my_doc_head'); } add_action('my_doc_head','my_seo_meta'); function my_seo_meta() { global $wp_query; $postid = $wp_query->post->ID; //insert whatever code to build $output echo $output; wp_reset_query(); }