Ich benutze eine benutzerdefinierte Abfrage beim Abrufen der beiden Kategorien des Post-Typs, jede Spalte zeigt nur 6 Beiträge der Kategorie, wenn mehr Paginierung verwendet wurde.
Dann möchte ich jeden Beitrag in jeder Spalte in derselben Zeile oder Zeile anzeigen, dies nur für Designzwecke, ich dachte, die Abfrage müsste für die ersten beiden Beiträge zählen, zwei divs (zum Beispiel) einfügen und dann setzen die nächsten zwei, und die nächste später, bis die sechste Reihe zu paginieren, wenn es mehr gibt.
Wirklich schätzen jeden Kommentar oder Idee, um das zu lösen, wusste nicht wirklich, wie zu tun ist.
Hier ist die benutzerdefinierte Abfrage, die ich verwende:
$post_type, "$tax" => $tax_term->slug, 'post_status' => 'publish', 'posts_per_page' => 6, //'posts_per_page' => -1, //'paged' => $paged, 'orderby' => 'title', 'order' => 'ASC', 'caller_get_posts' => 1 ); // END $args $my_query = null; // clear the query variable $my_query = new WP_Query($args); if( $my_query->have_posts() ) { ?> -
name; ?>
have_posts()) : $my_query->the_post(); ?> - <div class="retailer_wrap retailer_id-">
ID, 'eventdate', true);?>
ID, 'eventplace', true);?>
Eine Möglichkeit, die gleiche Abfrage auszugeben, aber anders zu rewind_posts
, ist die Verwendung von rewind_posts
oder in Kombination mit rewind_posts
oder die Verwendung von rewind_posts
allein.
Also zum Beispiel:
Ihre erste Anfrage
if ($my_query->have_posts()) :while ($my_query->have_posts()) : $my_query->the_post(); $counter_id = $my_query->current_post + 1; //this is the counter // then use a conditional to style each on based on `# or % if ($wp_query->current_post % 2 == 0) // add custom styles endwhile; else: // // Or rewind the post with a count and conditional rewind_posts(); //rewind the post back to the start if $counter_id == 1 //do some style if $counter_id > 3 // do some style //etc
Eine weitere einfachere Option ist die Verwendung mehrerer separater Schleifen (und DB-Abfragen).
Ich hoffe, dass diese Logik sinnvoll ist und hilft, ich habe keine Zeit, Ihre Anfrage zu schreiben und sie zu testen.