Php 如何在Wordpress的body_Class()中检查类
在Wordpress header.php中,我有Php 如何在Wordpress的body_Class()中检查类,php,wordpress,Php,Wordpress,在Wordpress header.php中,我有 <body <?php body_class($class); ?>> 谢谢 您可以使用过滤器访问body\u类,add\u过滤器('body\u类',函数…)但是,我认为您采取了错误的方法。为什么不直接使用css来满足您的需要呢?例如,.home>div{/*home styles*/} 或者您可以加载不同的样式表 add_filter('body_class', function($classes) {
<body <?php body_class($class); ?>>
谢谢 您可以使用过滤器访问
body\u类
,add\u过滤器('body\u类',函数…)
但是,我认为您采取了错误的方法。为什么不直接使用css来满足您的需要呢?例如,.home>div{/*home styles*/}
或者您可以加载不同的样式表
add_filter('body_class', function($classes) {
if (in_array('home', $classes)) {
wp_enqueue_style('home');
}
return $classes;
});
如果确实需要基于
body\u类
类使用不同的标记,那么使用
但可能有更好的方法可以做到这一点,比如@Rob的建议。这些映射与
body\u class
使用的类非常接近,我遇到了与使用不同模板创建页面相同的问题,但每个页面上的自定义子菜单必须相同
我先尝试了这个,但失败了
-模板文件的第一行
我想采用这种方法,而不是添加带有特定类的样式表,这样我就可以只为主页加载特定部分,或者加载另一个php代码片段,或者基于另一个类进行标记。然后我建议使用我已经尝试过的方法,用“get_body_class()”获取body类,但是当它在数组中搜索并回显内容时,它会吐出所有的类标记,除了我手动添加的带有“body_class($class);”的标记。我做错什么了吗?我可以在body标记中看到我的类,但是“get_body_class();”没有包含在那里…@KerynGill:听起来你的问题与OP中的不同。你可能应该打开或自己的问题,并提供代码供我们评估。你的答案是在body标签中添加一个类,而这个问题是关于找出是否有一个特定的类被添加到body标签中。如果你读了他对最佳答案的回答,他说用
add_filter('body_class', function($classes) {
if (in_array('home', $classes)) {
wp_enqueue_style('home');
}
return $classes;
});
$classes = get_body_class();
if (in_array('home',$classes)) {
// your markup
} else {
// some other markup
}
$classes = get_body_class();
if($GLOBALS['extraBodyClass']){
$classes[] = $GLOBALS['extraBodyClass'];
}