【WordPress】bodyタグのclassの値を変更する例|条件分岐タグ

WordPressでサイトを作成していると、bodyタグのclassの値をページ毎で異なる値にしたい場合があるかもしれません。

今回は、そのような場合に使用できるソースコードの例となります。

bodyタグのclassの値を条件分岐タグを使い変更する例

以下が例となり、条件分岐タグを使用し表示されるページによりbodyタグのclassの値を変更しています。

ソースコードを記述する箇所は、テンプレートファイル内のbodyタグの箇所となります。

<?php
if (is_front_page() && is_home()){
  $body_class = 'home' ;
} elseif (is_single()){
  $body_class = 'single single-' . get_the_ID() ;
} elseif (is_page()){
  $body_class = 'page page-' . get_the_ID() ;
} elseif (is_category()){
  $term = get_queried_object();
  $body_class = 'archive category category-' . $term->slug ;
} elseif (is_tag()){
  $term = get_queried_object();
  $body_class = 'archive tag tag-' . $term->slug ;
} else {
  $body_class = 'other-page' ;
}
?>
<body<?php echo ' class="' . $body_class . '"'; ?>> 

今回の例では、bodyタグのclassの値を変数$body_classとして、条件分岐タグを使い表示するページによって変数$body_classの値を変更しています。

なお、投稿・固定ページでは、get_the_ID()でページIDを取得しclassの値に含め、カテゴリー・タグアーカイブページでは、get_queried_object()からカテゴリー・タグのスラッグ名を取得しclassの値に含めています。

今回は、get_queried_object()からカテゴリー・タグのスラッグ名を取得しましたが、get_queried_object()は、現在のページのオブジェクトを取得できる関数となり、さまざまな情報を取得できます。詳しくは以下のリンク先を参考にしてみてください。

また、今回の例で使用した条件分岐タグ以外のタグは、以下のリンク先を参考にしてみてください。

コメント投稿またはTwitterで返信

コメントは、以下の項目(*は必須項目)を入力し「コメントを送信」ボタンから送信お願いします。メールアドレスは公開されることはありません。
Twitterで返信する場合はこちらから。

また、コメントは承認制となります。