web-dev-qa-db-fra.com

Quelle fonction Wordpress utiliser pour obtenir une méta-valeur à l'aide de clés méta?

C'est le code:

if ($keys = get_post_custom_keys()) {
    foreach ((array) $keys as $key) {
        $keyt = trim($key);
        if (is_protected_meta($keyt, 'post')) {
            continue;
        }

        $values = array_map('trim', 
        get_post_custom_values($key));
        $value = implode($values, ', ');
        echo " key : ".$key;
        echo " value : ".$value;
    }
}

Le résultat:

keyyy : nova_price valueee : $9 

Ma question: Existe-t-il une fonction Wordpress spécifique pour obtenir la méta-valeur $9 en utilisant la méta-clé nova price?

J'ai essayé d'utiliser cette fonction WP:

echo" get_post_meta: "; get_post_meta(the_ID(), 'nova_price', true);

mais le résultat est:

get_post_meta: 1872 

Toute aide serait grandement appréciée. Merci beaucoup.

1
Ray Macz

La solution suggérée dans les commentaires ayant fonctionné pour vous, je la posterai simplement comme réponse ici.

Vous devez remplacer la fonction the_ID() dans votre appel get_post_meta(the_ID(), 'nova_price', true);.

Parce que the_ID() génère directement l’identifiant de la publication qui est alors imprimé pour vous à la place de la méta.

Le code correct serait: get_post_meta( get_the_ID(), 'nova_price', true) Ceci devrait vous donner la valeur pour nova_price pour le message donné.

0
sven

En fait, c’était vraiment ma stupide erreur. D'une certaine manière, j'étais trop concentré sur get_post_meta (). En vérifiant la référence du code WP, j'ai commencé à comprendre que ce n'était pas le problème get_post_meta() du wrapper, alors que cela fonctionnait:

get_metadata('post', 1874, 'nova_price', true);

Le problème est donc le suivant:

echo" get_post_meta: ";  get_post_meta(get_the_ID(), 'nova_price', true);

Cela aurait dû être comme ça:

echo" get_post_meta: ". get_post_meta(get_the_ID(), 'nova_price', true);

Un problème mineur que j'ai négligé. Au moins maintenant, je connais les 2 fonctions pour obtenir la valeur par clé méta dans WP. Encore une fois, merci beaucoup pour l'effort et l'aide.

0
Ray Macz