I have created a custom query in hopes of showing the top posts from some child categories. The query has a big flaw: some posts belong to two categories; but, even if they get marked in BOTH categories, they only appear in one.

For example, a post marked in both "Navigating Difference" and "Learning Exchanges" will only appear in "Navigating Difference".

I also wonder if there's an easier way to do this: can I just query for all child categories of a certain category?

The query is:

    $posts = get_posts( 'numberposts=3&offset=0&showposts=3&cat=21,22,23,26,31,32,349');
    foreach ($posts as $post) :
    static $count1 = 0;
    if ($count1 == "3") {
    } else {

2 Answers 2


Use this instead as your loop query..

    query_posts( 'category_name=YOUR_CAT_NAME&showposts=15' );
    if ( have_posts() ) :
        while ( have_posts() ) :

Generally, you can use get_term_children() to get the child category id from a specific parent category.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.