WP_Query by Category Name

category is a valid parameter for get_posts, not for WP_Query. Here are the valid category parameters for WP_Query

  • cat (int) – use category id.
  • category_name (string)– use category slug (NOT name).
  • category__and (array) – use category id.
  • category__in (array) – use category id.
  • category__not_in (array) – use category id.

You can use either use cat or category_name

If you are uncertain of any parameter, just do a var_dump() of your new WP_Query variable. In your case, do the following

?><pre><?php var_dump($loop); ?></pre><?php

This will render something like this

object(WP_Query)#197 (49) {
  ["query"]=>
  array(2) {
    ["page"]=>
    string(0) ""
    ["pagename"]=>
    string(7) "profile"
  }
  ["query_vars"]=>
  array(62) {
    ["page"]=>
    int(0)
    ["pagename"]=>
    string(7) "profile"
    ["error"]=>
    string(0) ""
    ["m"]=>
    string(0) ""
    ["p"]=>
    int(0)
    ["post_parent"]=>
    string(0) ""
    ["subpost"]=>
    string(0) ""
    ["subpost_id"]=>
    string(0) ""
    ["attachment"]=>
    string(0) ""
    ["attachment_id"]=>
    int(0)
    ["name"]=>
    string(7) "profile"
    ["static"]=>
    string(0) ""
    ["page_id"]=>
    int(0)
    ["second"]=>
    string(0) ""
    ["minute"]=>
    string(0) ""
    ["hour"]=>
    string(0) ""
    ["day"]=>
    int(0)
    ["monthnum"]=>
    int(0)
    ["year"]=>
    int(0)
    ["w"]=>
    int(0)
    ["category_name"]=>
    string(0) ""
    ["tag"]=>
    string(0) ""
    ["cat"]=>
    string(0) ""
    ["tag_id"]=>
    string(0) ""
    ["author"]=>
    string(0) ""
    ["author_name"]=>
    string(0) ""
    ["feed"]=>
    string(0) ""
    ["tb"]=>
    string(0) ""
    ["paged"]=>
    int(0)
    ["comments_popup"]=>
    string(0) ""
    ["meta_key"]=>
    string(0) ""
    ["meta_value"]=>
    string(0) ""
    ["preview"]=>
    string(0) ""
    ["s"]=>
    string(0) ""
    ["sentence"]=>
    string(0) ""
    ["fields"]=>
    string(0) ""
    ["menu_order"]=>
    string(0) ""
    ["category__in"]=>
    array(0) {
    }
    ["category__not_in"]=>
    array(0) {
    }
    ["category__and"]=>
    array(0) {
    }
    ["post__in"]=>
    array(0) {
    }
    ["post__not_in"]=>
    array(0) {
    }
    ["tag__in"]=>
    array(0) {
    }
    ["tag__not_in"]=>
    array(0) {
    }
    ["tag__and"]=>
    array(0) {
    }
    ["tag_slug__in"]=>
    array(0) {
    }
    ["tag_slug__and"]=>
    array(0) {
    }
    ["post_parent__in"]=>
    array(0) {
    }
    ["post_parent__not_in"]=>
    array(0) {
    }
    ["author__in"]=>
    array(0) {
    }
    ["author__not_in"]=>
    array(0) {
    }
    ["ignore_sticky_posts"]=>
    bool(false)
    ["suppress_filters"]=>
    bool(false)
    ["cache_results"]=>
    bool(true)
    ["update_post_term_cache"]=>
    bool(true)
    ["update_post_meta_cache"]=>
    bool(true)
    ["post_type"]=>
    string(0) ""
    ["posts_per_page"]=>
    int(6)
    ["nopaging"]=>
    bool(false)
    ["comments_per_page"]=>
    string(2) "20"
    ["no_found_rows"]=>
    bool(false)
    ["order"]=>
    string(4) "DESC"
  }
  ["tax_query"]=>
  NULL
  ["meta_query"]=>
  object(WP_Meta_Query)#211 (2) {
    ["queries"]=>
    array(0) {
    }
    ["relation"]=>
    NULL
  }
  ["date_query"]=>
  bool(false)
  ["queried_object"]=>
  object(WP_Post)#236 (24) {
    ["ID"]=>
    int(265)
    ["post_author"]=>
    string(1) "1"
    ["post_date"]=>
    string(19) "2014-04-21 14:48:59"
    ["post_date_gmt"]=>
    string(19) "2014-04-21 12:48:59"
    ["post_content"]=>
    string(0) ""
    ["post_title"]=>
    string(4) "Test"
    ["post_excerpt"]=>
    string(0) ""
    ["post_status"]=>
    string(7) "publish"
    ["comment_status"]=>
    string(4) "open"
    ["ping_status"]=>
    string(4) "open"
    ["post_password"]=>
    string(0) ""
    ["post_name"]=>
    string(7) "profile"
    ["to_ping"]=>
    string(0) ""
    ["pinged"]=>
    string(0) ""
    ["post_modified"]=>
    string(19) "2014-09-10 19:54:58"
    ["post_modified_gmt"]=>
    string(19) "2014-09-10 17:54:58"
    ["post_content_filtered"]=>
    string(0) ""
    ["post_parent"]=>
    int(0)
    ["guid"]=>
    string(39) "http://localhost/wordpress/?page_id=265"
    ["menu_order"]=>
    int(0)
    ["post_type"]=>
    string(4) "page"
    ["post_mime_type"]=>
    string(0) ""
    ["comment_count"]=>
    string(1) "0"
    ["filter"]=>
    string(3) "raw"
  }
  ["queried_object_id"]=>
  int(265)
  ["request"]=>
  string(138) "SELECT   wp_posts.* FROM wp_posts  WHERE 1=1  AND (wp_posts.ID = '265') AND wp_posts.post_type="page"  ORDER BY wp_posts.post_date DESC "
  ["posts"]=>
  &array(1) {
    [0]=>
    object(WP_Post)#212 (24) {
      ["ID"]=>
      int(265)
      ["post_author"]=>
      string(1) "1"
      ["post_date"]=>
      string(19) "2014-04-21 14:48:59"
      ["post_date_gmt"]=>
      string(19) "2014-04-21 12:48:59"
      ["post_content"]=>
      string(0) ""
      ["post_title"]=>
      string(4) "Test"
      ["post_excerpt"]=>
      string(0) ""
      ["post_status"]=>
      string(7) "publish"
      ["comment_status"]=>
      string(4) "open"
      ["ping_status"]=>
      string(4) "open"
      ["post_password"]=>
      string(0) ""
      ["post_name"]=>
      string(7) "profile"
      ["to_ping"]=>
      string(0) ""
      ["pinged"]=>
      string(0) ""
      ["post_modified"]=>
      string(19) "2014-09-10 19:54:58"
      ["post_modified_gmt"]=>
      string(19) "2014-09-10 17:54:58"
      ["post_content_filtered"]=>
      string(0) ""
      ["post_parent"]=>
      int(0)
      ["guid"]=>
      string(39) "http://localhost/wordpress/?page_id=265"
      ["menu_order"]=>
      int(0)
      ["post_type"]=>
      string(4) "page"
      ["post_mime_type"]=>
      string(0) ""
      ["comment_count"]=>
      string(1) "0"
      ["filter"]=>
      string(3) "raw"
    }
  }
  ["post_count"]=>
  int(1)
  ["current_post"]=>
  int(-1)
  ["in_the_loop"]=>
  bool(false)
  ["post"]=>
  object(WP_Post)#212 (24) {
    ["ID"]=>
    int(265)
    ["post_author"]=>
    string(1) "1"
    ["post_date"]=>
    string(19) "2014-04-21 14:48:59"
    ["post_date_gmt"]=>
    string(19) "2014-04-21 12:48:59"
    ["post_content"]=>
    string(0) ""
    ["post_title"]=>
    string(4) "Test"
    ["post_excerpt"]=>
    string(0) ""
    ["post_status"]=>
    string(7) "publish"
    ["comment_status"]=>
    string(4) "open"
    ["ping_status"]=>
    string(4) "open"
    ["post_password"]=>
    string(0) ""
    ["post_name"]=>
    string(7) "profile"
    ["to_ping"]=>
    string(0) ""
    ["pinged"]=>
    string(0) ""
    ["post_modified"]=>
    string(19) "2014-09-10 19:54:58"
    ["post_modified_gmt"]=>
    string(19) "2014-09-10 17:54:58"
    ["post_content_filtered"]=>
    string(0) ""
    ["post_parent"]=>
    int(0)
    ["guid"]=>
    string(39) "http://localhost/wordpress/?page_id=265"
    ["menu_order"]=>
    int(0)
    ["post_type"]=>
    string(4) "page"
    ["post_mime_type"]=>
    string(0) ""
    ["comment_count"]=>
    string(1) "0"
    ["filter"]=>
    string(3) "raw"
  }
  ["comment_count"]=>
  int(0)
  ["current_comment"]=>
  int(-1)
  ["found_posts"]=>
  int(1)
  ["max_num_pages"]=>
  int(0)
  ["max_num_comment_pages"]=>
  int(0)
  ["is_single"]=>
  bool(false)
  ["is_preview"]=>
  bool(false)
  ["is_page"]=>
  bool(true)
  ["is_archive"]=>
  bool(false)
  ["is_date"]=>
  bool(false)
  ["is_year"]=>
  bool(false)
  ["is_month"]=>
  bool(false)
  ["is_day"]=>
  bool(false)
  ["is_time"]=>
  bool(false)
  ["is_author"]=>
  bool(false)
  ["is_category"]=>
  bool(false)
  ["is_tag"]=>
  bool(false)
  ["is_tax"]=>
  bool(false)
  ["is_search"]=>
  bool(false)
  ["is_feed"]=>
  bool(false)
  ["is_comment_feed"]=>
  bool(false)
  ["is_trackback"]=>
  bool(false)
  ["is_home"]=>
  bool(false)
  ["is_404"]=>
  bool(false)
  ["is_comments_popup"]=>
  bool(false)
  ["is_paged"]=>
  bool(false)
  ["is_admin"]=>
  bool(false)
  ["is_attachment"]=>
  bool(false)
  ["is_singular"]=>
  bool(true)
  ["is_robots"]=>
  bool(false)
  ["is_posts_page"]=>
  bool(false)
  ["is_post_type_archive"]=>
  bool(false)
  ["query_vars_hash":"WP_Query":private]=>
  string(32) "7d1c96f43296ed3cb0cd8c4716b9b916"
  ["query_vars_changed":"WP_Query":private]=>
  bool(false)
  ["thumbnails_cached"]=>
  bool(false)
  ["stopwords":"WP_Query":private]=>
  NULL
}

EDIT

Another thing to make sure of, are you making use of custom taxonomies or build-in categories. It is very important to know what the difference is as custom taxonomies don’t make use of the category parameters, but tax-query. If you are not sure, please read my answer about this topic here

If you are making use of a custom taxonomy, then you should remove the category parameter and swop it with tax_query

Example

'tax_query' => array(
        array(
            'taxonomy' => 'NAME OF YOUR TAXONOMY',
            'field'    => 'slug',
            'terms'    => 'SLUG OF YOUR TERM',
        ),
    ),

Leave a Comment

tech