Mostrare i Campi dei Custom Post Type

22 dic 2016, 11:55:01
Visualizzazioni: 16.6K
Voti: 3

Sto realizzando un sito web e voglio visualizzare degli Eventi. Per questo ho creato un Custom Post Type chiamato 'event'.

Sto eseguendo una query per mostrare gli eventi in una pagina. Gli eventi che ho creato hanno anche alcuni campi personalizzati come: 'Location', 'Day', 'Month', 'Year' e una categoria.

Questo è il mio codice attuale:

    <?php
        $args = array(
          'post_type' => 'event', 
        );

        $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>Location: </span>
                            <span>Category: </span>
                        </div>
                  </div>
              </div>
            <?php
          }
        } else {
          echo 'Nessun evento!';
        }
      ?>

Che mi mostra solo il titolo. Come posso visualizzare i campi personalizzati e la categoria?

Sono abbastanza nuovo nello sviluppo WordPress, sono abituato a programmare in .NET.

Grazie per qualsiasi aiuto!

0
Tutte le risposte alla domanda 1
8

I campi personalizzati vengono salvati nella tabella post_meta. Nella tua query hai ottenuto il titolo del post e l'ID del post, quindi ora devi recuperare i metadati del post.

Utilizza:

<?php
get_post_meta( get_the_ID(), '_location', true );
?>

lo stesso vale per gli altri campi personalizzati, cambierà solo '_location' in base al campo che stai recuperando. Leggi di più sui metadati dei post qui

22 dic 2016 12:02:47
Commenti

Proverò questa funzione. Che ne dici di usare get_post_custom() ?

Nanou Ponette Nanou Ponette
22 dic 2016 12:05:44

puoi usare anche questa funzione, hai entrambe le opzioni

fmeaddons fmeaddons
22 dic 2016 12:07:49

Grazie! Entrambi sembrano funzionare ma ho problemi a leggere il valore esatto dall'array.

Nanou Ponette Nanou Ponette
22 dic 2016 12:11:02

Penso che dovresti usare get_post_meta() così puoi ottenere il valore esatto per il campo personalizzato. Questo ridurrà il tuo lavoro per ottenere il valore dall'array quando usi get_post_custom().

fmeaddons fmeaddons
22 dic 2016 12:13:44

Sì, infatti. Ma questo var_dump($day); mi restituisce string(1) "4" e <?php $day ?> non restituisce nulla. Mi sto perdendo qualcosa qui.. Scusa, sono ancora un principiante.

Nanou Ponette Nanou Ponette
22 dic 2016 12:16:46

Prova <?php echo $day; ?>, poi ottieni qualcosa?

fmeaddons fmeaddons
22 dic 2016 12:18:35

Continuiamo questa discussione nella chat.

fmeaddons fmeaddons
22 dic 2016 12:25:35

Funziona! Grazie

Nanou Ponette Nanou Ponette
22 dic 2016 12:26:25
Mostra i restanti 3 commenti