Support » Fixing WordPress » Query Custom Post type by multiple Categories

  • Hello I am using custom post types to make it simple for my content management team. I am also using categories to control which of each post type is being displayed in different areas of the site.

    Now my problem is that I in some areas I want to filter the query to show only Custom Post type A with Category 1 and Category 2.

    here is the code I am using to call the loop:
    <?php $args = array( ‘post_type’ => ‘resource’, ‘category_name’ => ‘Test’&&’Brochure’ , ‘posts_per_page’ => -1 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post(); ?>

    this works perfectly when I only have one category_name, but it is not working when I try to add the && ‘second category’.

    I have tried using ‘category’ and ‘cat’ instead of ‘category_name’ but that doesn’t work. I have also tried to separate the two categories into different arguments but that does nothing as well.

    There has got to be a simple way to do this but I can’t find anything on the forums, any help would be much appreciated. Thanks!

Viewing 1 replies (of 1 total)
  • I think you can use a ‘tax-query’ in the $args to do what you want. Please try this:

    $args = array(
       'post_type' => 'resource',
       'posts_per_page' => -1 ,
       'tax_query' => array(
          'relation' => 'AND',
             'taxonomy' => 'category',
             'field' => 'slug',
             'terms' => array( 'test' )
          array (
             'taxonomy' => 'category',
             'field' => 'slug',
             'terms' => array( 'brochure' )
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();

    See this Codex article for more information:

Viewing 1 replies (of 1 total)
  • The topic ‘Query Custom Post type by multiple Categories’ is closed to new replies.