category.php(カテゴリーのインデックス)にそのカテゴリーの全投稿を表示したくて、
ネットによくある以下のTips
- <?php if ( have_posts() ) : query_posts(‘posts_per_page=-1’); ?>
- <?php if ( have_posts() ) : query_posts($query_string.’&posts_per_page=-1′); ?>
どっちを書いても、カテゴリーを無視して全部表示されてしまいます。(ムカ~!!)
以下のように書くと希望通りにそのカテゴリーの投稿を全件表示してくれました。
普通は 2 のほうで書けば上手くまわるはずなのですが、その前で別の処理をしていると上手くいかない場合があるので、同じ経験をされている方はお試しください。
毎度ネットに頼って失敗ばっかりするので、自分の備忘録として。
<?php $category = get_category($cat);
$cat_id = $category->cat_ID ;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'posts_per_page' => -1,
'cat' => $cat_id,
'paged' => $paged );
query_posts($args);
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
・
・
・
<?php endwhile; ?>
<?php endif; wp_reset_query(); ?>※ 2015/12/10 改訂


