Afisare câmpuri personalizate pentru Post Type
Fac un website și vreau să afișez Evenimente. Prin urmare am creat un Custom Post Type numit 'event'.
Interoghez evenimentele pentru a le afișa într-o pagină. Evenimentele pe care le-am creat au și câteva câmpuri personalizate precum: 'Location', 'Day', 'Month', 'Year' și o categorie.
Acesta este codul meu actual:
<?php
$args = array(
'post_type' => 'event', // Tipul de postare pe care îl interogăm
);
$events = new WP_Query( $args );
if( $events->have_posts() ) {
while( $events->have_posts() ) {
$events->the_post();
?>
<div class='event'>
<div class="event-date">
</div>
<div class="event-content">
<div class="event-title"><?php the_title() ?></div>
<div class="event-info">
<span>Locație: </span>
<span>Categorie: </span>
</div>
</div>
</div>
<?php
}
} else {
echo 'Nu există evenimente!';
}
?>
Care momentan afișează doar titlul. Cum pot afișa câmpurile personalizate și categoria?
Sunt relativ nou în dezvoltarea pentru WordPress, obișnuit să programez în .NET.
Mulțumesc pentru orice ajutor!

Câmpurile personalizate sunt salvate în tabelul post_meta. În interogarea ta ai obținut titlul postării și ID-ul postării, așa că acum trebuie să obții meta datele postării.
Folosește:
<?php
get_post_meta( get_the_ID(), '_location', true );
?>
același lucru pentru restul câmpurilor tale personalizate, doar '_location' se va schimba în funcție de câmpul pe care îl obții. Citește mai multe despre meta datele postărilor aici

Voi încerca această funcție. Dar dacă folosesc get_post_custom()?

Mulțumesc! Ambele par să funcționeze, dar am probleme cu extragerea valorii exacte din array.

Cred că trebuie să folosești get_post_meta() pentru a obține valoarea exactă a câmpului personalizat. Asta îți va reduce munca de a extrage valoarea din array atunci când folosești get_post_custom().

Da, într-adevăr. Dar acest var_dump($day); îmi returnează string(1) "4" și <?php $day ?> nu returnează nimic. Cred că ratez ceva aici.. Îmi pare rău, sunt încă începător.

Să continuăm această discuție în chat.
