【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()は、現在のページのオブジェクトを取得できる関数となり、さまざまな情報を取得できます。詳しくは以下のリンク先を参考にしてみてください。
また、今回の例で使用した条件分岐タグ以外のタグは、以下のリンク先を参考にしてみてください。