category

category

wordpress

2024.10.28

2024.10.31

37

【WordPress】「is_front_page()」「is_home()」の違いと「表示設定」の関係

is_front_page()」「is_home()」は何が違うのでしょうか。

それは、管理画面の「表示設定」どのような設定をされているかで決まります。

表示設定は組み合わせが4パターンあるのですが、全てのパターンでどのような扱いになるのか調べてみました。

用意した固定ページは2つ
記事タイトルスラッグ
トップページtop
ブログ一覧blog

表示設定は管理画面の以下の箇所(設定→表示設定)

ここがポイント

「固定ページ」を選択した場合、「ホームページ」と「投稿ページ」には固定ページが設定でき、設定した場合は以下のルールに変わります。

  • ホームページ」に設定した固定ページは、URLがホームURLに変更される。
  • 投稿ページ」に設定した固定ページは、記事を取得した際、自分自身ではなく全ての記事一覧が返される。

 ※「記事を取得」というのはメインクエリで取得した場合です。

2つのURL「ホームURL」「ホームURL/blog」で、「is_front_page()」「is_home()」の結果が「true」になるかどうか一覧表を作成しました。(ついでに「is_page()」も)

ホームURLホームURL/blog
1is_front_page()
is_home()
is_page()
is_front_page()
is_home()

is_page()
2is_front_page()
is_home()
is_page()
is_front_page()
is_home()
is_page()
3is_front_page()
is_home()
is_page()
is_front_page()
is_home()

is_page()
4is_front_page()
is_home()
is_page()
is_front_page()
is_home()
is_page()
※結果 true:赤 false:グレー

面白い結果になりました。

4は「ホームURL」「ホームURL/blog」のいずれも全く同じ結果になりました。

ということは、「is_front_page()」「is_home()」だけではページの判断ができないということになります(別の方法を使えば判断は可能です)

次に、メインクエリは何が返ってくるのでしょうか。

ホームURLホームURL/blog
1全ての記事固定ページ「ブログ一覧」
2固定ページ「トップページ」全ての記事
3固定ページ「トップページ」固定ページ「ブログ一覧」
4全ての記事全ての記事

こちらは当然と言えば当然の結果でした。

ということで、「表示設定」は、トップページブログの関係で決めていきます。

A~Dまでのパターンで分けました。

まとめ

トップページとブログの関係
1

A.「トップページ」=「ブログ一覧の1ページ目」にしたい時

※このパータンでは固定ページ「トップページ」と「ブログ一覧」は不要

●完全なブログサイトを作成したい場合に適しています。

B.ブログが不要トップページのエディタ(又はカスタムフィールド)が不要の時

※このパータンでは固定ページ「トップページ」と「ブログ一覧」は不要

※「エディタ」とは管理画面から編集できるトップページの記事本文のことです

●ブログが不要で、トップページのコンテンツは全てphpファイルに記述するという場合に適しています。

2

C.「トップページ」と「ブログ一覧」を分けたい時

※トップページにブログの新着を表示することは可能です

●ブログ付きサイトを作成したい適しています。個人的にはこの案件依頼が一番多いです。

3

D.ブログ一覧が不要トップページのエディタ(又はカスタムフィールド)を使用したい

※このパータンでは固定ページ「ブログ一覧」は不要

●ブログが不要で、トップページのコンテンツにエディタやカスタムフィールドを使用したい場合に適しています。管理画面の編集画面が使用できるのでお客様側での編集がやりやすいです。

4

使用しない。
「is_front_page()」「is_home()」だけではページの判断ができないので使用しない方が良い。
別の方法を使えば判断できるが、このパターンを使用するメリットがない。

638

コメント

コメントを残す

ニックネームは公開されます

CAPTCHA


閉じる