Afisare câmpuri personalizate pentru Post Type

22 dec. 2016, 11:55:01
Vizualizări: 16.6K
Voturi: 3

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!

0
Toate răspunsurile la întrebare 1
8

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

22 dec. 2016 12:02:47
Comentarii

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

Nanou Ponette Nanou Ponette
22 dec. 2016 12:05:44

poți folosi și această funcție, ai ambele opțiuni disponibile

fmeaddons fmeaddons
22 dec. 2016 12:07:49

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

Nanou Ponette Nanou Ponette
22 dec. 2016 12:11:02

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().

fmeaddons fmeaddons
22 dec. 2016 12:13:44

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.

Nanou Ponette Nanou Ponette
22 dec. 2016 12:16:46

Încearcă <?php echo $day; ?>, obții ceva acum?

fmeaddons fmeaddons
22 dec. 2016 12:18:35

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

fmeaddons fmeaddons
22 dec. 2016 12:25:35

Funcționează! Mulțumesc

Nanou Ponette Nanou Ponette
22 dec. 2016 12:26:25
Arată celelalte 3 comentarii