web-dev-qa-db-fra.com

add_action et wp_head n'affiche pas le contenu dans la section head

J'ai un gros problème. Dans une page Wordpress, j'ai une fonction qui génère des balises méta og. Je veux "ajouter" que généré méta dans la section de tête. Donc, j'écris ce code:

add_action('wp_head', '_set_meta_tag');
function _set_meta_tag()
{
    global $nome;
    global $descr;
    global $file;
    global $path_meta;

    $output = "";
    $output .= '<meta property="og:title" content="'.$nome.'" />';
    $output .= '<meta property="og:type" content="article" />';
    $output .= '<meta property="og:image" content="'; $output .= get_bloginfo('template_url'); $output .= '/includes/img/immagini_evento/'.$file.'" />';
    $output .= '<meta property="og:url" content="'.$path_meta.'" />';
    $output .= '<meta property="og:description" content="'.truncate(htmlentities($descr),200).'" />';
    $output .= '<meta property="og:site_name" content="'; $output .= get_bloginfo('name'); $output .='" />';

    echo $output;}

add_action('wp_head', '_set_meta_tag'); n'affiche pas $output. Pourquoi?

J'ai aussi prouvé que je fais écho à un simple "bonjour le monde", mais rien ne s'est passé!

2
apanzett

Ce code doit être exécuté avant que le hook wp_head ne se déclenche, sinon rien ne se passera. Lorsqu'il est testé dans un fichier mu-plugin, il fonctionne.

Je suppose que vous essayez d’accrocher cette fonction trop tard - peut-être de l’intérieur d’un fichier de modèle de thème après get_header (dans la plupart des cas). Placez ce code dans le functions.php du thème ou dans un fichier de plugin (mu-) et cela devrait fonctionner au moins dans la mesure où l'écho du contenu va. Je ne l'ai pas analysé pour d'autres bugs.

2
s_ha_dum