2013-10-10 23 views
6

Gibt es eine Möglichkeit, eine Anzahl von Elementen innerhalb Wordpress Loop-Code zu erhalten:Wordpress Loop - wie Elemente zählen

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

Diese Schleife die Beiträge auflistet. Ich muss bestimmte Klassen zu den ersten 3 hinzufügen, abhängig von der Gesamtzahl von ihnen.

Antwort

13

können Sie die post_count property von $WP_Query, wie so verwenden:

$wp_query->post_count 

Seien Sie der Unterschied bewusst mit found_posts, die die Beiträge zählt, die, wenn auch die Abfrage übereinstimmt, nicht für Paginierung angezeigt (zB werden). Je nach Ihrer Situation möchten Sie vielleicht das eine oder das andere verwenden.

+0

Danke sowohl für Antworten. Dieser ist näher an dem, was ich brauche. Vielleicht war ich nicht präzise genug. Ich brauche eine Anzahl von Gegenständen, egal wie viele von ihnen dort sind. Dann muss ich Klassen zu den ersten 3 oder weniger hinzufügen, wenn insgesamt <3 - aber das sollte nicht der Teil der Frage sein. –

+0

Sie können auch '$ items = count ($ posts)' verwenden, wenn Sie möchten :) –

+0

Spot on! 'found_posts' war der eine für mich. Vielen Dank! – daneczech

12

Hier ist ein Weg, um darüber zu gehen:

<?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

Das OP benötigt die Gesamtzahl der Posts in der Schleife, nicht den aktuellen Index. – Sunyatasattva

+1

@Sunyatasattva "Ich muss bestimmte Klassen zu den ersten 3 hinzufügen" - er muss zählen und testen, ob es weniger als 4 ist, um spezielle Klassen hinzuzufügen ... downvote? Ja wirklich? –

+1

Gleich nach dem zitierten Satz * "abhängig von der Gesamtzahl von ihnen." * Er muss nicht nur die Klassen zu den ersten drei hinzufügen, diese Klassen werden von der Gesamtzahl abhängen. Ich habe abgelehnt, weil dies die Frage nicht beantwortet. Der Downvote könnte immer zurückgenommen werden, wenn Sie die Antwort bearbeiten, um das OP-Problem zu beheben. – Sunyatasattva