wake-up-neo.com

Add_action to wp_head via functions.php

Ich habe das Twenty Seventeen Theme und ein Child Theme installiert. Jetzt möchte ich functions.php den folgenden Code hinzufügen, um dem Tag <head> mit der Aktion wp_head Metadaten hinzuzufügen:

if ( is_single() ) echo get_post_meta($post->ID, "meta-head", true); ?>

Ich habe es versucht, aber es hat nicht funktioniert:

add_action ('wp_head','hook_inHeader');
function hook_inHeader() {
    if ( is_single() ) {
        echo get_post_meta($post->ID, "meta-head", true);
   }
}
3
HeikoS

Der Grund, warum der bereitgestellte Code nicht funktioniert, ist, dass $post nicht auf die globale $post-Variable verweist, was hier das Ziel ist.

Mit get_the_ID() können Sie auf die ID zugreifen, die dem aktuellen Beitrag zugeordnet ist. So würde ich es vorschlagen, aber es gibt auch andere Möglichkeiten:

add_action ( 'wp_head', 'hook_inHeader' );
function hook_inHeader() {
    if ( is_single() ) {
        // Get the post id using the get_the_ID(); function:
        echo get_post_meta( get_the_ID(), 'meta-head', true );

        /* Or, globalize $post so that we're accessing the global $post variable: */
        //global $post;
        //echo get_post_meta( $post->ID, 'meta-head', true );

        /* Or, access the global $post variable directly: */
        // echo get_post_meta( $GLOBALS['post']->ID, 'meta-head', true );
    }
}
3
Dave Romsey