3

I need to display:

first three posts in first div from wordpress,

second three posts in second div from wordpress and

third three posts in third div from wordpress.

How can I do this?

div 1
    --1st post
    --2nd tpost
    --3rd post
div 2
    --4th post
    --5th post
    --6th post
div 3
    --7th post
    --8th post
    --9th post
Deepu Sasidharan
  • 5,193
  • 10
  • 40
  • 97
User
  • 314
  • 2
  • 3
  • 15

2 Answers2

3

You could do it via several methods. Put the data into an array and then chunk() it, and loop over those chunks.

Or, you could simply loop over the data:

<div class="...">
    <?php
    // Set counter
    $i = 1;

    // Loop over your posts
    while (have_posts()) {
        // If you have ouputted three already then close and reopen div
        if ($i == 3) {
            $i = 1;

            echo '</div><div class="...">';
        }

        // Output the post and increment the counter
        the_content();
        $i++;
    }
    ?>
</div>
cjhill
  • 1,004
  • 2
  • 9
  • 31
1

Hope the code will work for you.

<?php
$i=0;
if (have_posts() ) : while ( have_posts() ) : the_post();  

if($i==0)
{
?>
<div><!--open div-->
<?php
}
?>
<h1><?php the_title(); ?></h1>
<p><?php the_content(); ?></p>
<
$i++;
if($i==3)
{
$i=0;
?>
</div><!--closing div -->  
<?php
}
endwhile; endif;
                

?>
Tristup
  • 3,603
  • 1
  • 14
  • 26