get_body_class() の使い方|説明・引数・注意点

説明

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() 投稿のクラスの配列を、返す

関連項目

body_class()、get_post_class()

公式リファレンス:get_body_class() | WordPress Developer Resources

コメント

タイトルとURLをコピーしました