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',
),
),