[WordPress]フロントページのみにコンテンツを表示する条件分岐

WordPressでフロントページのみにコンテンツを表示したい状況、あると思います。

「front-page.php」テンプレートに書くなり、is_front_page()で条件分岐できてしまうのですが、「表示設定>フロントページの表示」項目で固定ページを設定している場合を考慮した柔軟な条件分岐がしたかったのです。

結果とても見づらい条件分岐コードになってしまいましたが、間違ってはいないハズなので以下のコードで対応することに。

フロントページのみコンテンツを表示する条件分岐

  • フロントページかつ投稿一覧ページ
  • フロントページかつ投稿一覧ページではない
  • 2ページ目以降ではない

を掛け合わせています。

非常に見づらい条件です…。もっと良い書き方があるかもしれません。

フロントページ、投稿ページに固定ページが設定されているかを判定(おまけ)

表示設定でフロントページや投稿ページに固定ページを割り当てるとWordPressのオプションに値が設定されます。get_option()で「page_on_front」「page_for_posts」を指定すると固定ページのIDが返ってくるので、これで判定することが可能です。設定されていなければ0が返ってくるので、これらを使った条件分岐も書くことが可能でしょう。

コメント

「何かそこ違うよ」「こうした方が良い」っていう部分があったら指摘して頂けると嬉しいです。

トラックバック

トラックバックは現在ありません。

Trackback: https://increment-log.com/if-front-page/trackback/