web-dev-qa-db-fra.com

Comment afficher la valeur des champs personnalisés dans la page

J'ai un type de message personnalisé appelé "logiciel", qui contient divers champs personnalisés tels que le sous-titre, le prix, les captures d'écran, le lien de téléchargement, etc. J'ai créé une fonction permettant d'utiliser la fenêtre d'édition tinyMCE pour certains de ces champs personnalisés. J'ai essayé d'afficher ces champs sur la page, mais sans succès.

La méthode que j'utilise est la suivante:

<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>

Voici un lien vers la page.

En dessous du <hr/> sur la page se trouve une liste de toutes les méta créées. Le SEUL des champs qui affichera est "prix" pour une raison étrange.

Quelqu'un a une idée de ce que je manque?

15
dvmac01

Eh bien, vous utilisez:

get_post_meta(get_the_ID(), 'subtitle', TRUE);

Donc, vous dites à Wordpress d’obtenir la méta-valeur du champ 'sous-titre' et que la valeur renvoyée soit au format chaîne. Voir get_post_meta () docu .

Pour obtenir toutes les métadonnées d'un message, vous devez utiliser get_post_custom () function. Par exemple, si vous êtes dans la boucle:

$custom = get_post_custom();
foreach($custom as $key => $value) {
     echo $key.': '.$value.'<br />';
}

Cela renverra toutes les métadonnées de la publication. Si vous souhaitez vérifier, par exemple, le champ méta "price":

if(isset($custom['price'])) {
    echo 'Price: '.$custom['price'];
}
15
cybmeta

utilisez ce code pour résoudre votre problème.

$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
2
prempal sharma