[WordPress]bodyに対してページごとで異なるidとclassを付ける方法

記事一覧と記事詳細で同一のテンプレートを使っていたりすると、ページ出力の際にbodyに別のidやclassを付けたい事があります。bodyに対してページごとで異なるidとclassを付ける方法をまとめました。

bodyに対してページごとで異なるidとclassを付ける方法

条件分岐タグによって表示中のページを判断しています。

条件分岐タグ

条件分岐タグを使うと、「特定のページでのみ表示させる」といった一定の条件の時のみ行なう処理を簡単に設定できます。
ここでは良く使いそうなもののみまとめました。その他にも条件分岐タグには様々なものが用意されているので、詳しくはこちらのサイトを参照してください。
条件分岐タグ – WordPress Codex 日本語版

条件分岐タグ

is_home()
メインブログページが表示されている場合。メインブログページとは時系列のブログコンテンツを表示するページのこと。
is_front_page()
サイトのフロントページとして設定されている投稿・固定ページが表示されている場合。デフォルトだと投稿一覧。
is_single()
個別の投稿ページが表示されている場合。()の中にパラメータ(投稿IDなど)を指定できる。
is_sticky()
投稿編集ページで「この投稿を先頭に固定表示」にチェックがある投稿が表示されている場合。()の中に投稿IDなどを指定できる。
is_sticky()
投稿編集ページで「この投稿を先頭に固定表示」にチェックがある投稿が表示されている場合。()の中にパラメータを指定できる。
is_page()
固定ページが表示されている場合。()の中にパラメータを指定できる。
is_category()
カテゴリーページが表示されている場合。()の中にパラメータを指定できる。
is_tag()
タグのアーカイブページが表示されている場合。()の中にパラメータを指定できる。
is_archive()
各アーカイブページが表示されている場合。
is_search()
検索結果ページが表示されている場合。
is_404()
404エラーページが表示されている場合。
is_paged()
アーカイブページやメインページに表示数より多い投稿があり、ページが複数に分かれる時。

条件分岐を使って表示を出し分けるには、下記のような書き方をします。

この記事は以下のサイトを参考にさせて頂きました。
WordPress:body_classに独自のクラスを追加する方法+代替で独自のIDやクラスのみをbodyに指定する方法 | NxWorld
WordPress:カスタマイズするなら覚えておきたい条件分岐について | NxWorld