Hi I am using some code to display posts in a slider on a page, and at the top I have some code to filter it using WP_Query. Here it is, not sure what is wrong:
<?php
/**
* Featured Content 2
*
*/
$args = array(
'post_type' => 'iv_post_type',
'category' => 'commitment',
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) : ?>
<div id="video-sidebar-right">
<div class="featured-current-wrapper">
<div id="featured-content">
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="featured-post">
<?php if(has_post_thumbnail()) :?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'bcc-video-medium' ); ?></a>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php else :?>
<?php endif;?>
</div> <!-- .featured-post -->
<div class="featured-post-pager">
<span id="slider-prev" class="slider-nav">← Next Photo</span>
<span id="slider-next" class="slider-nav">→ Previous Photo</span>
</div>
<?php endwhile; ?>
</div><!-- #featured-content -->
</div><!-- .featured-current-wrapper -->
</div><!-- #video-sidebar-right -->
<div id="video-featured-content">
<div class="featured-video">
<div class="videoWrapper">
<iframe width="640" height="360" src="//www.youtube/embed/so_PO0dP3oA" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<?php wp_nav_menu( array( 'theme_location' => 'bcc-video-menu' ) ); ?>
<p class="video-choose-cat">Choose a category from above to view our different articles.</p>
<div id="slider-nav">
<div id="slide-thumbs">
<?php $slidecount = 1;
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="slide-thumbs-single <?php echo ( $slidecount == -1 ) ? 'last' : ''; ?>">
<?php if(has_post_thumbnail()) :?>
<?php the_post_thumbnail( 'bcc-video-thumb' ); ?>
<?php else :?>
<?php endif;?>
</div>
<?php $slidecount++; ?>
<?php endwhile; ?>
</div><!-- .slide-thumbs -->
</div><!-- #slider-nav -->
</div><!-- #video-featured-content -->
<?php endif; ?>
Hi I am using some code to display posts in a slider on a page, and at the top I have some code to filter it using WP_Query. Here it is, not sure what is wrong:
<?php
/**
* Featured Content 2
*
*/
$args = array(
'post_type' => 'iv_post_type',
'category' => 'commitment',
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) : ?>
<div id="video-sidebar-right">
<div class="featured-current-wrapper">
<div id="featured-content">
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="featured-post">
<?php if(has_post_thumbnail()) :?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'bcc-video-medium' ); ?></a>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php else :?>
<?php endif;?>
</div> <!-- .featured-post -->
<div class="featured-post-pager">
<span id="slider-prev" class="slider-nav">← Next Photo</span>
<span id="slider-next" class="slider-nav">→ Previous Photo</span>
</div>
<?php endwhile; ?>
</div><!-- #featured-content -->
</div><!-- .featured-current-wrapper -->
</div><!-- #video-sidebar-right -->
<div id="video-featured-content">
<div class="featured-video">
<div class="videoWrapper">
<iframe width="640" height="360" src="//www.youtube.com/embed/so_PO0dP3oA" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<?php wp_nav_menu( array( 'theme_location' => 'bcc-video-menu' ) ); ?>
<p class="video-choose-cat">Choose a category from above to view our different articles.</p>
<div id="slider-nav">
<div id="slide-thumbs">
<?php $slidecount = 1;
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="slide-thumbs-single <?php echo ( $slidecount == -1 ) ? 'last' : ''; ?>">
<?php if(has_post_thumbnail()) :?>
<?php the_post_thumbnail( 'bcc-video-thumb' ); ?>
<?php else :?>
<?php endif;?>
</div>
<?php $slidecount++; ?>
<?php endwhile; ?>
</div><!-- .slide-thumbs -->
</div><!-- #slider-nav -->
</div><!-- #video-featured-content -->
<?php endif; ?>
Share
Improve this question
asked Sep 11, 2014 at 15:55
user6311172user6311172
411 gold badge1 silver badge3 bronze badges
3
- 1 Welcome to WordPress Development. What's the question? – birgire Commented Sep 11, 2014 at 15:59
- Hi! All of the posts in that post type are displayed on the page. I only want ones from the specific category to be displayed. Is this possible? Not sure what is wrong with my $args...even if I change category to category_name it then displays nothing at all... – user6311172 Commented Sep 11, 2014 at 16:04
- 1 Please update your question with that info. – birgire Commented Sep 11, 2014 at 16:25
2 Answers
Reset to default 13category
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',
),
),
try this one
$anArray = array(
'tax_query' => array(
array(
'taxonomy' => 'YOUR CUSTOM TAXONOMY',
'terms' => 'CATEGORY ID',
),
),
);
you can find values in wp_term_taxonomy
from your database.