Adăugarea acțiunii add_action în wp_head prin functions.php

19 dec. 2016, 21:51:48
Vizualizări: 37.9K
Voturi: 11

Am instalat tema Twenty Seventeen și o temă copil. Acum vreau să adaug următorul cod în functions.php pentru a adăuga meta date în tag-ul <head> folosind acțiunea wp_head:

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

Am încercat următoarea variantă, dar nu a funcționat:

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

Activează modul de depanare și află ce nu funcționează corect cu $post.

fuxia fuxia
19 dec. 2016 22:07:18
Toate răspunsurile la întrebare 1
0
11

Motivul pentru care codul postat nu funcționează este că $post nu face referire la variabila globală $post, care este scopul aici.

Folosirea get_the_ID() este o modalitate bună de a accesa ID-ul asociat postării curente. Așa aș sugera să o faceți, dar există și alte metode:

add_action ( 'wp_head', 'hook_inHeader' );
function hook_inHeader() {
    if ( is_single() ) {
        // Obține ID-ul postării folosind funcția get_the_ID():
        echo get_post_meta( get_the_ID(), 'meta-head', true );

        /* Sau, globalizează $post pentru a accesa variabila globală $post: */
        //global $post;
        //echo get_post_meta( $post->ID, 'meta-head', true );

        /* Sau, accesează direct variabila globală $post: */
        // echo get_post_meta( $GLOBALS['post']->ID, 'meta-head', true );
    }
}
19 dec. 2016 23:31:55