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.
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é.
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.