mozmoz

| ウェブのあれこれ中心のブログです

WordPressの条件分岐29パターンまとめてみた。

2020年4月20日

サイトを制作している時、ページによってヘッダーを変更したり、特定のページだけJSを読み込んだり、なんてことが多いので忘備録もかねてまとめてみることにしました。

1. 基本形

条件分岐はたとえば、「このページだけこのCSSを読みたい!」「共通パーツのこの部分、特定のページでは消したい!」みたいなときに使います。
これを使うことで、フッターや共通ブロックのファイルを1ファイルで済ませることができます。
そのためヘッダーやフッターで使用する場合が多いです。
ページスピードや、バッティングを考慮したJSを読み分けるときにも使います。

2. 例えば

この場合は、「IDが「only」のページでのみonly.cssを読み込み、それ以外のページではsample.cssを読んでね」という記述になります。

elseは省略できる

固定ページはこのCSSを読むけど、ほかのページには不要!みたいな場合だとこんな感じです。

3. 条件が複数ある場合

こんな感じです。
is_page()は固定ページ、is_single()は記事ページを指します。
そのほかのページはまとめてのちほど↓↓。

4. 特定のページ「以外」に適用したい場合

条件の前に「!」をつけると「以外」になります。

5. 【AND】複数の条件をつなげたいとき

「&&」でつなげることで、条件をANDでつなぐことができます。
このページとこのページだけ、といった条件で縛りたい場合に使います。

6. 【OR】複数の条件をつなげたいとき

「||」でつなげることで、条件をORでつなぐことができます。

7. 条件分岐の便利なパターン

使用頻度の多いパターン例を記載していきます!

8. トップページのみ

is_home() と is_front_page() もどっちも書きます。
固定ページをホームに設定した場合などは、どちらも書かないと認識してくれない場合があるためです。

9. 固定ページだけ

is_page()は固定ページを指します。

10. 固定ページの特定のページ

()内でページIDを指定してあげれば、特定の固定ページでのみ適用させることができます。

11. 指定したい固定ページが複数あるとき

複数の固定ページに適用させたい場合、array()で括って複数指定できます。
&&でつないでもいいですが、こっちのほうがシンプルになるので好きです。

12. アーカイブページだけ

is_archive()はアーカイブページを指します。記事一覧ページにのみ表示したい場合に使います。

13. アーカイブの1ページ目だけ

is_paged()は2ページ目以降、なので「!」でそれ以外を指定することで、1ページ目を指定することができます。

14. カテゴリーの記事一覧ページのみ

カテゴリ一覧に表示したい内容があればこれを使います。

15. 特定のカテゴリーの記事一覧ページのみ

カテゴリ一覧に表示したい内容があればこれを使います。

16. 複数の特定カテゴリーの記事一覧ページ

17. カテゴリページの1ページ目だけ

18. 特定のカテゴリーの記事ページ


紛らわしいですが「in」にすることで、特定のカテゴリの記事を指定することができます。

19. 特定のタグの記事一覧ページ

「tag」で指定します。

20. 記事ページ

21. 検索結果のみ

22. 404ページのみ

23. モバイルとタブレットだけ

24. カスタム投稿の場合!

カスタム投稿の場合は記事ページやなどの条件指定方法が微妙に違います。

25. カスタム投稿の特定のアーカイブページ

26. カスタム投稿の複数のアーカイブページ

27. カスタム投稿の記事ページ

紛らわしいですが「singlar」です。紛らわしい。

28. 複数のカスタム投稿の記事ページ

他と同様にarray()で複数の投稿タイプを指定できます。

29. タームの記事一覧ページ

まとめ

めっちゃ種類おおいですが、ある程度パターンを把握しておけば後は応用です。
ひとまず使用頻度の高そうなものを書いてみました。
ぜひ参考にしてみてください!