管理者が色を指定できるように、ACFでラジオボタンフィールドを作成しました。例えば:
これをheader.phpの<body <?php body_class(); ?>
経由でクラスとして出力したいのですが。これは可能ですか?
私は現在header.phpのようにクラスを出力しています。
<div id="page" class="site <?php the_field('package_colour',$post->ID); ?>">
body_class
filterにフックしてそこにあなたのフィールドを追加してください。 get_queried_object_id()
ではなく get_the_ID()
からIDを取得する方が良いかもしれません。
add_filter( 'body_class', 'wpse_20160118__body_class' );
function wpse_20160118__body_class( $classes ) {
if ( $package_colour = get_field( 'package_colour', get_queried_object_id() ) ) {
$package_colour = esc_attr( trim( $package_colour ) );
$classes[] = $package_colour;
}
return $classes;
}