WordPressの固定ページに投稿記事一覧を表示させよう!と思っても、index.phpで記事一覧を表示させるコードを記述してもうまく表示してくれません。
ということで、今回は固定ページでも投稿記事一覧を表示させる方法についてご紹介したいと思います!
ちなみに記事一覧の見本ソースを以下のように設定しました。
<ul> <li><a href="記事URL">記事タイトル</a></li> <li><a href="記事URL">記事タイトル</a></li> <li><a href="記事URL">記事タイトル</a></li> </ul>
固定ページで投稿記事一覧を表示させるコードはこちら
上のソースを元に投稿記事の情報を取得・一覧として表示させるには以下のコードを記述します。
<ul> <?php query_posts('post_type=post&paged='.$paged); ?> <?php if(have_posts()) : while(have_posts()) : the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; endif; ?> <?php wp_reset_query(); ?> </ul>
上記のように記述することで、固定ページでも投稿記事一覧を表示してくれるようになります!
ポイントとしては、3行目の
<?php query_posts(‘post_type=post&paged=’.$paged); ?>
と11行目の
<?php wp_reset_query(); ?>
を記述してあげることで、固定ページでも投稿記事一覧を表示してくれるようになる、ということですね。
ページャーを動かすには
上記の作業で固定ページで投稿記事一覧を表示してくれるようになりますが、ページャーを設置するには以下のように記述する必要があります。
(今回は例として『WP-PageNavi』というプラグインを使った際の記述法を紹介します)
<ul> <?php query_posts('post_type=post&paged='.$paged); ?> <?php if(have_posts()) : while(have_posts()) : the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; endif; ?> </ul> <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> <?php wp_reset_query(); ?>
このように、
<?php wp_reset_query(); ?>
をページャーのテンプレートタグのあとに記述する必要があります。
もしここで、
<?php endwhile; endif; ?>
のあと(=ページャーのテンプレートタグの前)に記述してしまうと、ページャーがうまく表示されない…という事態が起きてしまうので、必ずページャーのテンプレートタグのあとに記述してあげましょう!
まとめ
以上が固定ページで投稿記事一覧を表示させる方法になります!
この方法を知っていれば、サイトのトップページとは別に投稿記事一覧のページを作りたい!となった時に使えるので、是非とも覚えておきましょう!