WordPress.org

Ready to get started?Download WordPress

Forums

How to exclude Posts belonging to only ONE Category from query_posts() (2 posts)

  1. websherpa
    Member
    Posted 2 years ago #

    I have a need to pull a query_posts similar to this:

    query_posts( array( 'post__not_in' => $do_not_duplicate , 'posts_per_page' => $count_non_sticky, 'paged' => get_query_var('paged'), 'cat' => '-944, -938') ); /* 944 Developments 938 AGM Announcements*/

    Except that instead of excluding all Posts belonging to either Categories 944 or 938, I want to exclude Posts that belong ONLY to either Category 944 and/or 938.

    What I am trying to achieve is to funnel Posts belonging ONLY to one of these categories off to a sidebar block. However if a Post belongs to one of these categories AND also to another one, then I don't want it excluded from the main content query.

    The context is posts which are Announcements, for example. If a post is ONLY an Announcement, then I want it excluded from the main query so I can have it appear only in the Sidebar. But if it's an Announcement and a Topic Of the Day, then I want it to appear in both he main body of Post Summaries AND the Sidebar.

    Does that make sense?

    Thank you for any help someone can provide.

  2. websherpa
    Member
    Posted 2 years ago #

    As luck would have it, I stumbled upon my answer after posting. So I thought I'd post the result here to help anyone else with the same needs. I got my answer from here:

    http://wordpress.stackexchange.com/questions/2031/how-to-filter-post-from-categories-only-if-the-posts-appears-in-one-of-them-not

    With the resulting code:

    $allCategories = get_categories( array( 'exclude' => '944,938' ) );
    $includeCategories = array();

    foreach ( $allCategories as $Bcategory )
    { $includeCategories[] = $Bcategory->term_id; }

    query_posts( array( 'category__in' => $includeCategories, 'post__not_in' => $do_not_duplicate , 'posts_per_page' => $count_non_sticky, 'paged' => get_query_var('paged'), 'cat' => '-1') ); /* 944 Developments 938 AGM Announcements*/

Topic Closed

This topic has been closed to new replies.

About this Topic