説明
get_body_class() は、<body> に付けるクラスを、配列で返す関数です。body_class() が出力する内容の元になります。
基本構文
get_body_class( string|string[] $class = '' ): string[]
引数
$class:追加するクラス(文字列または配列)
戻り値
クラス名の配列。
使い方(サンプル)
$classes = get_body_class( 'my-theme' );
echo esc_attr( implode( ' ', $classes ) );
注意点
- 出力せず、配列を返します。
<body>のクラスを出力するときは、body_class()。- クラスの追加は、
body_classフィルターでもできます。
実務での使いどころ
<body>のクラスを、PHPの中で、加工して使うとき。- クラスに、特定の値が含まれるかを、確認するとき。
よくあるミスと対処
- 配列を、そのまま
echoしている。implode()で、文字列にしてから、出力する。 class="..."全体を出力するbody_class()と、取り違える。
NG例
echo get_body_class(); // 配列なので、「Array」になる
OK例
$classes = get_body_class();
if ( in_array( 'home', $classes, true ) ) {
// トップページ
}
使い分け早見表
| 関数 | 役割 |
|---|---|
get_body_class() |
クラスの配列を、返す |
body_class() |
class="..." を、出力する |
get_post_class() |
投稿のクラスの配列を、返す |

コメント