Come visualizzare il valore dei campi personalizzati nella pagina
Ho un tipo di post personalizzato chiamato 'software', che contiene vari campi personalizzati come sottotitolo, prezzo, screenshot, link per il download, ecc. Ho creato una funzione per consentire l'uso della finestra di modifica tinyMCE per alcuni di questi campi personalizzati. Sto cercando di visualizzare questi campi sulla pagina ma senza successo.
Il metodo che sto utilizzando è questo:
<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>
Ecco un link alla pagina.
Sotto il <hr/>
nella pagina c'è un elenco di tutti i meta creati. L'UNICO campo che viene visualizzato è 'price' per qualche strana ragione.
Qualcuno ha idea di cosa mi stia sfuggendo?
Bene, stai utilizzando:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
Quindi, stai dicendo a WordPress di ottenere il valore meta del campo 'subtitle' e che il valore restituito sia in formato stringa. Vedi la documentazione di get_post_meta().
Per ottenere tutti i metadati di un articolo dovresti usare la funzione get_post_custom(). Ad esempio, se sei all'interno del loop:
$custom = get_post_custom();
foreach($custom as $key => $value) {
echo $key.': '.$value.'<br />';
}
Questo restituirà tutti i metadati dell'articolo. Se vuoi verificare, ad esempio, il campo meta "price":
if(isset($custom['price'])) {
echo 'Prezzo: '.$custom['price'][0];
}
