2025-02-16
投稿一覧ページhome.phpをつくる ー 表示設定をいろいろ変える

・wp上のhome.phpは投稿一覧を表示するためのページの名前。
・投稿一覧ページをつくるには、wpの表示設定を変える必要がある。
まずは投稿一覧ページをつくる

まずは固定ページを作る必要がある。トップ用と投稿一覧用。
そのうえでホームページの表示を、最新の投稿から、固定ページに変更し、ホームページをトップ用固定ページに、投稿用を投稿用固定ページに指定。
home.phpというファイルをつくり、front-pade.phpのnewsに使ったものと同じループ文を入れれば完成。
さらにページネーションを入れよう
<?php the_posts_pagination(); ?>
表示設定を変えたことにより、トップページでお知らせ一覧が表示されなくなるのでサブクエリをつかっていく

JSで勉強したクラスとインスタンスの概念が登場。WP_Queryというクラスを使う。
$新しいクラスの名前 = new WP_Query( 引数を入れる );
引数はwp独自のものを覚える必要あり。ここでは別に引数用の定数を定義する。
$args = [
'post_type' => 'post',
'posts_per_page' => '5'
];
するとこんな感じになる。
<?php
$args = [
'post_type' => 'post',
'posts_per_page' => '5'
];
$sub_query = new WP_Query($args);
?>
使い方は以下のとおりシングルアローを使う
$sub_query->have_posts()
$sub_query->the_post()
忘れてはいけないのが、サブクエリを使うのはトップページの中でも”最新の投稿一覧”の部分だけなので、そのセクションが終わるときにはデータを戻さなければいけないということ。そのため以下のタグをif文の終わりに入れる。
<?php wp_reset_postdata(); ?>