wordpressでのスマホ対応webサイト制作・wpプラグイン・PHPプログラム・SNS活用・ 動画・bgmやテーマ曲アレンジまで考えるコラム!

【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります

   

こんにちは、管理人@SS_mshpです。

今回は、WordPressで条件分岐するときによく使われる組み込み関数『is_home()』『is_front_page()』について取り上げます。『サイトのホームページと、フロントページって、むっちゃ同じ意味にとれそうやん』と思いますが、厳密には挙動が異なります
管理人も実際に行ってみたので、似ている二つの挙動を確認していってみましょう。

『is_home()』で条件分岐を組んだ場合の挙動→ホームが『最新の投稿』のときに表示できる


まずは、管理人がやっているサイト(著作権フリー曲サイト)で、トップページにお知らせを表示するブロックを作ろうとしたのがきっかけ。フッターの上あたりに、『テスト』って書いたブロックを作り、『if(is_home())』で条件分岐するようにしましたが・・・


しかし、これは表示しません。『is_home()』で条件分岐を組んだのに、トップは『固定ページ&各種セクション』だからです。


『if(is_home())』でトップページ表示させるためには、WordPressの表示設定で『ホームページの表示』を『最新の投稿(通常ブログ一覧が出る)』にします。


このように、『if(is_home())』で条件分岐を組むと、『ホームページの表示』を『最新の投稿』にしているときに表示することができます。

『is_front_page()』で条件分岐を組んだ場合の挙動→ホームが『固定ページ』のときに表示できる


『んじゃー、固定ページをホームにしている場合はどうすんだろ?』という疑問がわきますが、WordPressにはほかに、似たようなものがあります。それが『is_front_page()』。こちらで分岐を組んで表示させたい場合は・・・


先ほどとは異なり、『ホームページの表示』を『固定ページ』に変更します


『if(is_front_page())』で条件分岐を組み、ホームを固定ページ表示にしたところ、無事にテストのブロックが表示されました。

参考リンク・あとがき・まとめ

■参考リンク・is_home(codex日本語版)
https://wpdocs.osdn.jp/関数リファレンス/is_home

■参考リンク・is_front_page()(codex日本語版)
https://wpdocs.osdn.jp/関数リファレンス/is_front_page

  • WordPress組み込み関数の、is_home()・is_front_page()は似ているが、厳密には挙動が異なる
  • 『is_home()』は、『最新の投稿一覧がトップページの場合、true』である
  • 対して『is_front_page()』は、『特定の固定ページがトップページの場合、true』である
  • WordPress 2.1 より前では、『サイトフロントページとブログ投稿インデックスが一緒』だったらしい(初耳)

まとめるとこんな形でしょうか。似ているので混同しやすいのですが、この挙動の違いを押さえておくと、『最新の投稿一覧がトップページの場合』でも、『特定の固定ページがトップページの場合』でも、狙って条件分岐のプログラムをくむことが可能になります。

例えるなら、『最新の投稿一覧でも、法人ページのセクションっぽいブロックを出力』や、『特定の固定ページがトップページの場合でも、記事一覧をクエリ・RSSで取得して表示』といったところです。より自由度があがるので、ぜひ押さえておいてください。

*アトリエSS・web制作サービスページに移動します。webリニューアル・ロゴ・記事・wordpress化などでお力添えできます。

【カテゴリ】 - PHP・データベースetc
【タグ】 -

  関連記事

【WordPressユーザー名バレ対策】ユーザー名表示からPHP・preg_matchでリダイレクト(wp-json/wp/v2/usersなど)

今回は、WPログインなどにも使われる情報『ユーザー名』が表示され ...

【PHP etc.プログラム学習サイトコードコピペ】全角引用符・バッククオートが入ってて動かない件に注意

今回は、管理人が学習サイトなどでコードを調べていて、4回くらい遭 ...

WordPressの記事IDで判定して転送~PHP・headerとget_the_IDで対応、the_IDとの挙動の違いも

今回は、前回の『別ディレクトリにWP記事を出す』の続きで、新しい ...

【WP記事取得クエリ・プラグイン無し】お知らせなどに使える、ショートコードで特定カテゴリ記事を表示プログラム

今回は、最近何件か対応した、お客さん提供用の自社開発WPテーマに ...

PHP・mb_substr関数を使って、タイトル文字数を揃える(WPレイアウト調整)

今回はPHP関数を使って、表示の調整をしてみたいと思います タイ ...

【ユーザーデータ取得】WordPress定義済み関数の『get_userdata()』『wp_get_current_user()』ってどのように違うの?

今回は、WPシステムのwebサイト制作などでちょくちょくお目にか ...

【画像つきでわかりやすい】WordPressで使われるデータは、MySQLデータベースに、どのように格納されているの?

今回は、学習コンテンツです(WordPress&MySQLデータ ...