body_class()

body_class()はWordPressのテンプレートタグの一つで、特定のページに適用されるクラス名を<body>タグに自動的に追加するために使用されます。この関数は、現在のページや投稿の種類、カテゴリー、タグ、作成者などに基づいてクラスを生成し、それによってサイトの異なる部分に異なるスタイルを適用することができます。例えば、特定のカテゴリーに属する投稿ページであれば、そのカテゴリーの名前を含むクラスが<body>タグに追加されます。これにより、WordPressテーマのカスタマイズや、特定のページや投稿に特有のCSSスタイルを適用する際に役立ちます。

<body <?php body_class(); ?>>


わかりづらいと思いますので、例を挙げますと例えば、特定のカテゴリーのページにだけ特定のスタイルを適用したい場合、body_class() によってそのカテゴリーのページに自動的に付与されるクラス(例: category-news)をCSSでターゲットにしてスタイリングを適用することができます。
<body <?php body_class(); ?>>
       ↓
出力時には下記のように生成されます
<body class=”category category-news”>

下記のようにカテゴリー「news」に属するページにのみ、特定のスタイリング(背景色とh1要素のテキスト色)を適用します。body_class() によって自動的に付与されるクラスを利用することで、サイト内の他のページには影響を与えずに、特定のページやカテゴリーに対して簡単にカスタムスタイルを適用することができます。
.category-news {
background-color: #f0f0f0;
}
body.category-news h1 {
color: #333;
}

事前に下地として、HTML、CSSをWPテーマ化の前に固有のページにも当たるように作成していたらbody_class()はそれほど、役に立たないのではないと思いましたが、拡張性や入れることによってのディメリットはないので、入れておいた方がいいようです。

投稿者

Kの手習い

前職はOA機器の販売営業でしたが、退職して、50代で1からプログラマーを目指します。一般的にこの年齢からは厳しいと言われておりますが、この歳ならではの経験を活かして、頑張ります!

コメントを残す