Cum să afișezi valoarea câmpurilor personalizate în pagină
Am un tip de postare personalizat numit 'software', care conține diverse câmpuri personalizate precum subtitlu, preț, capturi de ecran, link de descărcare etc. Am creat o funcție pentru a permite utilizarea ferestrei de editare tinyMCE pentru unele dintre aceste câmpuri personalizate. Am încercat să afișez aceste câmpuri în pagină, dar fără succes.
Metoda pe care o folosesc este aceasta:
<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>
Aici este un link către pagină.
Sub tag-ul <hr/>
din pagină există o listă cu toate meta-datele create. Singurul dintre câmpuri care se va afișa este 'price' (preț) din motive necunoscute.
Are cineva vreo idee ce îmi lipsește?
Deci, tu folosești:
get_post_meta(get_the_ID(), 'subtitle', TRUE);
Astfel, îi spui WordPress să obțină valoarea meta a câmpului 'subtitle' și ca valoarea returnată să fie în format de string. Vezi documentația get_post_meta().
Pentru a obține toate metadatele unui post, ar trebui să folosești funcția get_post_custom(). De exemplu, dacă ești în interiorul loop-ului:
$custom = get_post_custom();
foreach($custom as $key => $value) {
echo $key.': '.$value.'<br />';
}
Aceasta va returna toate metadatele postului. Dacă vrei să verifici, de exemplu, câmpul meta "price":
if(isset($custom['price'])) {
echo 'Preț: '.$custom['price'][0];
}
