トップページや固定ページに「おしらせ一覧」みたいに投稿一覧を表示させたい。
この記事では、トップページや固定ページに投稿一覧を表示する方法を解説します。
たとえば、下は「店舗情報」という固定ページですが、今回お伝えする方法を使えば「お知らせ一覧」という投稿一覧を簡単に表示できます。
仕組みさえわかればほぼコピペでいけるので、参考にしてください。
トップページや固定ページに投稿一覧を表示する方法
トップページや固定ページに投稿一覧を表示するにはサブループを使います。
たとえば・・・
という場合には、下記を記述すればOKです。
投稿日と投稿タイトルは、必要に応じてスタイリングしてください。
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5
);
$the_query = new WP_Query($args);
?>
<?php if($the_query->have_posts()):?>
<?php while($the_query->have_posts()):?>
<?php $the_query->the_post();?>
<?php the_time('Y年m月d日');?>
<?php the_title() ;?>
<?php endwhile;?>
<?php endif;?>
<?php wp_reset_postdata();?>
サブループとは
ざっくり言うと「本来表示できないページに無理やり投稿を表示する機能」です(※他にも用途はあります)。
当然ですが、トップページや固定ページが持っているのは「そのページの情報」だけなので、投稿記事を表示できません。
しかし、サブループを使えば、どこでも自由に投稿情報を引っ張り出せるので、簡単に投稿一覧をトップページや固定ページに表示できるようになります。
サブループの書き方
サブループの雛形はこちらです。
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5 //表示させたい投稿の数
);
$the_query = new WP_Query($args);
?>
<?php if($the_query->have_posts()):?>
<?php while($the_query->have_posts()):?>
<?php $the_query->the_post();?>
/*ループ内の記述*/
<?php endwhile;?>
<?php endif;?>
<?php wp_reset_postdata();?>
お決まりの定型文なので、基本コピペでOKですが、ポイントだけまとめます。
まとめ
トップページや固定ページに投稿一覧を表示するにはサブループを使えばOKです。
なお「ページネーションも追加したい」という方は、下の記事で詳しく解説していますので、参考にしてください。