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 改訂