Ausgabe von 2 Elementen innerhalb der Schleife

Ich habe eine Abfrage, die

  • durchläuft und die Anzahl der
  • anzeigt, die ich habe. Gibt es eine Möglichkeit, dass ich die Schleife zu einer Zeit ziehen kann und nicht zu einer Zeit?

     // 5 list items 

    Ausgabe

     
    • content 1
    • content 2
    • content 3
    • content 4
    • content 5

    und wie ich es gerne ausgeben würde …

     
    • content 1 content 2
    • etc...

    Ich hoffe du verstehst was ich versuche zu tun.

    Vielen Dank!

    Solutions Collecting From Web of "Ausgabe von 2 Elementen innerhalb der Schleife"

    Einfach mit WP-Abfrage (lernen Sie es kennen …)

     
      < ?php $recentPosts = new WP_Query(); $recentPosts->query('showposts=2'); // SET AMOUNT HERE ?> < ?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
    • < ?php the_content(); ?>
    • < ?php endwhile; ?>

    Hoffe das hilft. Lassen Sie es mich wissen, wenn Sie auf ein Problem stoßen.


    EDIT 1:
    * Erklärung – nur einen kleinen bedingten Zähler hinzugefügt

     
      < ?php $count = 1; while(has_posts()): the_post(); ?> < ?php if ($count == 1) {echo '
    • ';} ?> < ?php the_content(); ?> < ?php if ($count == 3) {echo '
      '; $count = 1;} else {$count++;} ?> < ?php endwhile; ?>

    EDIT 2:
    * Bitte beachten Sie, dass ich has_post zu have_post geändert habe (denke, es sollte so sein? Ihr Anruf)

     < ?php echo '
      '; $count = 1; while(have_posts()): the_post(); if ($count == 1) {$slideOpenTag = '
    • ';} else {$slideOpenTag = '';} if ($slideOpenTag) {echo $slideOpenTag;} the_content(); if ($count == 3) {$slideCloseTag = '
    • '; $count = 1;} else {$count++; $slideCloseTag = '';} if ($slideCloseTag) {echo $slideCloseTag;} endwhile; if (!$slideCloseTag) {echo '';} echo '
        '; ?>
  • In Anlehnung an den Beitrag von Sagive SEO scheint dies auch ohne Zähler zu funktionieren.

     echo '
      '; while ( have_posts() ) { echo '
    • '; the_post(); the_content(); // If there is 1 more post, advance current post and add its content. if ( $wp_query->current_post + 1 < $wp_query->post_count ) { the_post(); the_content(); } echo '
    • '; } echo '
    ';

    Die WordPress-function the_post () führt den Post-Index des $ wp_query-Objekts weiter, genau wie die WP_Query- Objektmethode next_post (). Das Hinzufügen eines zweiten Aufrufs zu the_post () wirkt sich auf den Wert der function have_posts () aus.

    Diese Schleife verarbeitet zwei Posts pro Schleife anstelle von einer, es sei denn, eine ungerade Anzahl von Posts wird zurückgegeben, in welchem ​​Fall die Bedingung falsch ist und nur der letzte Post beim letzten Loop-Durchlauf verarbeitet wird.

    EDIT: Einige Mathe für 7 Beiträge insgesamt.

    $ wp_query-> post_count = 7

    $ wp_query-> current_post Der Index des Posts, der gerade angezeigt wird (beginnend mit 0).

    Pass eins. Der erste the_post() initialisiert $wp_query->current_post auf 0. if (0 + 1 <7). Die Bedingung the_post() erhöht $wp_query->current_post auf 1.

    Pass zwei. Der erste the_post() erhöht $wp_query->current_post auf 2. if (2 + 1 <7). Die Bedingung the_post() erhöht $wp_query->current_post auf 3.

    Pass drei. Das erste the_post() erhöht $wp_query->current_post auf 4. if (4 + 1 <7). Die Bedingung the_post() erhöht $wp_query->current_post auf 5.

    Pass vier. Der erste the_post() erhöht $wp_query->current_post auf 6. if (6 + 1 <7). Die Bedingung ist falsch und wird nicht ausgeführt.