Perché usare if con il ciclo while?

2 nov 2017, 10:36:34
Visualizzazioni: 132
Voti: 1
if(have_posts()):  // Controlla se ci sono post da visualizzare
    while(have_posts()):  // Cicla finché ci sono post
        the_post();  // Prepara i dati del post
        the_content();  // Mostra il contenuto del post
    endwhile;
endif;

Anche senza la condizione if, questo codice funziona correttamente:

while(have_posts()):  // Cicla finché ci sono post
    the_post();  // Prepara i dati del post
    the_content();  // Mostra il contenuto del post
endwhile;

Grazie.

0
Tutte le risposte alla domanda 2
0

Hai bisogno del if ( have_posts() ) : solo se, come suggerisce il nome della funzione, devi fare qualcosa di diverso quando non ci sono post. Questo potrebbe essere qualcosa come mostrare un messaggio "Nessun post trovato."

Ma avresti bisogno di questo controllo solo nei template che potrebbero non mostrare post, come gli archivi e la ricerca. Per i template di singoli post e pagine, il if non è necessario.

2 nov 2017 10:51:17
0

Hai ragione, non è necessario.

Tuttavia, spesso vorrai racchiudere l'output dei post in un <div class="posts"> o qualcosa di simile, e puoi rendere l'output di quel div condizionale in base al fatto che ci sarà effettivamente qualcosa al suo interno, il che lo rende molto più pulito da stilizzare secondo me, perché non ti ritroverai con <div class="posts"></div> se non ci sono post. Non avrai bisogno di usare alcun selettore :empty nel tuo CSS per nascondere questo div vuoto, poiché non sarà affatto nel DOM.

2 nov 2017 10:50:38