Suppose I have 3 categories (cat 1 , cat 2 , cat 3) , and my blog home page shows 6 recent posts . I want to show 2 recent posts from every category.

How can I do it?

You can do it using the following loop:

<?php

$cat_477 = new WP_Query();$cat_477->query('cat=477&showposts=4');
while($cat_477->have_posts()) :$cat_477->the_post(); ?>

<h3><a href=" <?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<p><?php echo get_the_excerpt(); ?></p>

<?php endwhile; ?>


The number 477 is the ID of one category. The variable \$cat_477 is where we save the MySQL query for one category (477 in this case). The number 4 is the number of posts to show.

You only need to know the ID of each category, change the numbers and create so many loops as you want.

As far as I know you can only do this by using multiple loops - one for each category. Hope this link helps: http://codex.wordpress.org/The_Loop#Multiple_Loops_in_Action