今更なのですが初めて知ったのでメモ…
bodyタグに入れるだけ↓
<body <?php body_class(); ?>>
HTMLを見るとそのページのidが含まれたクラス名が自動的に付く
ほかログイン中のページかどうか、固定ページか投稿ページか、カテゴリなどのクラスも付くみたい
任意のクラス名を付けることも可能↓
functions.php
add_filter( 'body_class', 'add_custom_body_class' );
function add_custom_body_class( $classes ) {
// スラッグが "contact" のページの場合クラス名"toiawase"を付ける
if ( is_page( 'contact' ) ) {
$classes[] = 'toiawase';
}
return $classes;
}
今回は、WP-Membersプラグインを使って作成した「制限あり(ログインしたユーザーしか見られない)」ページのみに特定のクラスをつけたかったのでこのように記述↓
add_filter( 'body_class', 'my_wpmembers_body_class' );
function my_wpmembers_body_class( $classes ) {
if ( is_page() ) {
global $post;
if ( get_post_meta( $post->ID, '_wpmem_block', true ) == '1' ) {
$classes[] = 'm-page';
}
}
return $classes;
}

コメント