Wenn Loop eine ungerade Anzahl von Posts auf der letzten Seite enthält, wird der benutzerdefinierte Stil für den letzten Post verwendet

Meine Schleife zeigt Beiträge in zwei Spalten mit diesem PHP an

  
CONTENT OF POST : Title, Thumbnail, Excerpt... etc
CONTENT OF POST : Title, Thumbnail, Excerpt... etc
WHEN THERE IS NO POSTS

Sie können sehen, dass das div ” bei der ersten Zählung öffnet und bei der zweiten schließt.

also wenn meine Schleife eine gerade Anzahl von Posts hat, funktioniert das großartig, aber mit einer ungeraden Zahl schließt sie das Div nicht

Also meine Idee ist dies: Wenn Schleife hat gerade Nummer http://img.daswordpress.com/loop/Hu4Ua.png

Wenn Schleife ungerade Anzahl von Posts hat http://img.daswordpress.com/loop/JjqzZ.png

Ich hoffe meine Frage ist klar,

Solutions Collecting From Web of "Wenn Loop eine ungerade Anzahl von Posts auf der letzten Seite enthält, wird der benutzerdefinierte Stil für den letzten Post verwendet"

Du könntest das viel einfacher machen. Während Sie ein Layout erstellen, das durch Floats erreicht werden kann, müssen Sie nicht jedes zweite Mal eine Zeile deklarieren.

In meinem Codebeispiel gebe ich einfach den $count , um die class des HTML-Elements zu bestimmen. In Kombination mit der Gesamtzahl der angezeigten Posts.

Wenn die Gesamtzahl der Posts $wp_query->post_count durch den $count UND die Gesamtzahl ungerade ist, gebe ich dem Element die class fullwidth . In gleicher Weise bestimme ich, ob es das erste oder das zweite ist (siehe IF-Statement).

Alles was ich danach tun muss, ist die Ausgabe der entsprechenden class für jedes HTML-Element in der Schleife. Neben der class unterscheidet sich kein Element voneinander.

Ich benutze den Modulo Operator in PHP ( % ) um ungerade / gerade zu bestimmen. Es liefert 1 wenn ich $count % 2 und $count ist ungerade. Wenn Sie sich nicht sicher sind, lesen Sie hier nach .

So könnte Ihr Code wie folgt aussehen:

 < ?php $count = 0; if (have_posts()): while (have_posts()) : the_post(); if ( ++$count == $wp_query->post_count && ( $wp_query->post_count % 2 ) == 1 ) { // if final count is reached AND final count is odd // full width item $postclass = "fullwidth"; $opentag = ''; $closingtag = ''; } else if ( ( $count % 2 ) == 1 ) { // if $count is odd it is the first item in a 'row' $postclass = "halfwidth first"; $opentag = '
'; $closingtag = ''; } else { // second item in a row $postclass = "halfwidth second"; $opentag = ''; $closingtag = '
'; } ?> < ?php echo $opentag; ?>
CONTENT OF POST : Title, Thumbnail, Excerpt... etc
< ?php echo $closingtag; ?> < ?php endwhile; endif; ?>