Как проверить класс в body_class () в WordPress

В WordPress header.php у меня есть

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

Как проверить, существует ли определенный класс, а затем загрузить разметку в результате? Напр.

 <body class"home logged-in"> <?php if $class == 'home' ?> <div class="home"></div> <? else : ?> <div class="internal-page"></div> <? endif; ?> 

Благодаря!

Solutions Collecting From Web of "Как проверить класс в body_class () в WordPress"

Если вам действительно нужно действительно использовать разную разметку на body_class классов body_class , тогда используйте get_body_class

 $classes = get_body_class(); if (in_array('home',$classes)) { // your markup } else { // some other markup } 

Но есть, вероятно, лучшие способы сделать это, например, предложение Роба условных тегов . Эти карты довольно близко body_class к классам, используемым body_class .

Вы можете получить доступ к body_class с фильтром add_filter('body_class', function ...) однако, я думаю, вы принимаете неправильный подход. Почему бы просто не использовать css для чего вам нужно? Например, .home>div { /* home styles */ }

Или вы можете загрузить другую таблицу стилей

 add_filter('body_class', function($classes) { if (in_array('home', $classes)) { wp_enqueue_style('home'); } return $classes; });