2013-10-10 21 views
6

C'è un modo per ottenere un certo numero di elementi all'interno di Wordpress codice di ciclo:ciclo Wordpress - come contare gli elementi

<?php while (have_posts()) : the_post(); ?> 

Questo ciclo sono elencate le cariche. Ho bisogno di aggiungere alcune classi ai primi 3 a seconda del numero totale di esse.

risposta

13

è possibile utilizzare il post_count property di $WP_Query, in questo modo:

$wp_query->post_count 

essere consapevoli della differenza con found_posts, che conta i posti che, pur corrispondenza della query, non vengono visualizzati (ad esempio per l'impaginazione). Potresti voler usare l'uno o l'altro a seconda della tua situazione particolare.

+0

Vi ringrazio entrambi per le risposte. Questo è più vicino a quello di cui ho bisogno. Forse non ero abbastanza preciso. Ho bisogno di un numero di oggetti, non importa quanti di loro ci siano. Poi ho bisogno di aggiungere classi ai primi 3 o meno se totale <3 - ma questa non dovrebbe essere la parte della domanda. –

+0

Puoi anche usare '$ items = count ($ posts)' se lo desideri :) –

+0

Spot on! 'found_posts 'era quello per me. Grazie! – daneczech

12

Ecco un modo per andare a questo proposito:

<?php 
$count = 0; //set up counter variable 
while (have_posts()) : the_post(); 
$count++; //increment the variable by 1 each time the loop executes 
if ($count<4) { 
    // here put the special code for first three 
} 
// here put the code for normal posts 
endwhile; 
?> 
+1

L'OP richiede il numero totale di post nel ciclo, non l'indice corrente. – Sunyatasattva

+1

@Sunyatasattva "Ho bisogno di aggiungere alcune classi ai primi 3" - ha bisogno di contare e testare se meno di 4 per aggiungere classi speciali a loro ... downvote? veramente? –

+1

Subito dopo la frase citata * "a seconda del numero totale di essi." * Non ha solo bisogno di aggiungere le classi ai primi tre, queste classi dipenderanno dal numero totale. Ho downvoted perché questo non risponde alla domanda. Il downvote potrebbe sempre essere ripristinato se si modifica la risposta per affrontare effettivamente il problema OP. – Sunyatasattva

Problemi correlati