特定のカテゴリ(カテゴリ51)のアイテムのみを表示するにはどうすればよいですか。
コードを組み込む必要があるのは、以下のループです。
<div class="news-content-inner">
<?php $portfolioloop = new WP_Query( array( 'paged' => get_query_var('paged'), 'post_type' => 'news', 'posts_per_page' => 4 ) ); ?>
<?php while ( $portfolioloop->have_posts() ) : $portfolioloop->the_post(); ?>
<div class="news-item" onClick="location.href='<?php echo the_permalink(); ?>'">
<h2><a style="color:#F45B11!IMPORTANT;" href="<?php echo the_permalink(); ?>"><?php echo the_time('d.m.Y'); ?> / <?php echo the_title(); ?></a></h2>
<p class="news-page">
<?php if (get_field('description') != "") { ?>
<?php echo the_field('description'); ?>
<?php } else {
$newscontent = get_the_content();
$newscontent_str = strip_tags($newscontent, '');
echo substr($newscontent_str,0,250) . "…";
} ?>
</p>
</div>
<?php endwhile; // end of the loop. ?>
<p class="news-page" style="font-size:12px!IMPORTANT;"><?php echo wp_count_posts('news')->publish; ?> opportunities</p>
<?php if (function_exists('wp_pagenavi')) {
wp_pagenavi( array( 'query' => $portfolioloop ) ); } ?>
</div>
WP_Query
ループを修正する必要があります。必要なカテゴリをフィルタするためにtax_query
引数を追加します。
$portfolioloop = new WP_Query(array(
'paged' => get_query_var('paged'),
'post_type' => 'news',
'posts_per_page' => 4,
'tax_query' => array(
// Note: tax_query expects an array of arrays!
array(
'taxonomy' => 'portfolio', // my guess
'field' => 'id',
'terms' => 51,
),
),
));
http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters