WordPressで bodyタグに id を追加する方法

カスタマイズ
WordPressカテゴリー
Pocket

WordPress には、body タグにcss を自動的に追加するテンプレートタグ body_class() がありますが、例えば、ページ毎やカテゴリ毎に id を追加してくれるテンプレートタグがありません。

そこで今回は、body タグに独自 id を追加する方法をご紹介します。

固定ページとカテゴリに独自 IDを指定する

下記が固定ページとカテゴリの body タグに独自 id を追加する方法になります。

<?php
 $body_id ="";

 if ( is_page() ) {
   $body_id  = ' id="'.$post->post_name.'" ';
 } else if ( is_category() ) {
   $category = get_the_category();
   $body_id  = ' id="category_'.$category[0]->category_nicename.'" ';
 }
?>

<body <?php echo $body_id; ?> <?php body_class(); ?> >

各固定ページとカテゴリのスラッグを id として設置することになりますので、英語などわかりやすいスラッグ名をつけておくこといいと思います。

参考サイト

WordPress:body_classに独自のクラスを追加する方法+代替で独自のIDやクラスのみをbodyに指定する方法

WordPressでページ毎にbodyタグのidを振る