В 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; ?>
Благодаря!
Если вам действительно нужно действительно использовать разную разметку на 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; });