当我访问某个类别时,我尝试制作不同的身体类,它的工作完美除非我尝试创建新类别然后访问类别帖子,它将回显特定的类别而不是正常的body_class();
这里的代码: 的header.php:
<?php
$catid1 = get_cat_ID( 'פאודה צפייה ישירה' );
$currentcatID = the_category_ID($echo=false);
if(is_single() && $catid1 == $currentcatID){
$catid1 = $catid1;
}else{
$catid1 = $currentcatID;
}
?>
<body <?php
if(!empty($currentcatID)){
if(is_single()){
if($catid1 == $currentcatID){
echo 'class = "rtl single single-post category-'.$catid1.' postid-81 single-format-standard featured-image-only"';
}else{
body_class();
}
}else{
body_class();
}
}
?>>
当我访问索引网站时,所有工作都很完美,当我访问该类别的页面时,ID也工作正常,但在创建新类别并添加测试帖时,它会回显第一个类echo 'class = "rtl single single-post category-'.$catid1.' postid-81 single-format-standard featured-image-only"';
我不想要,我想回应body_class();
简短:我想只在类别1回应特定类,否则使用普通的body_class();
知道它为什么不起作用吗?
答案 0 :(得分:1)
您应该使用body_class
过滤器,而不是在某些情况下尝试重新创建身体类。
如果我理解正确,您希望为特定类别添加某个类到正文。这应该在不重新发明body_class
add_filter('body_class', function($classes) {
$catid = get_cat_ID( 'פאודה צפייה ישירה' );
$currentcatID = get_query_var('cat');
if($catid == $currentcatID) {
$classes[] = 'my-additional-class';
}
return $classes;
});
确保在致电body_class
之前添加过滤器,通常只需将其添加到主题的functions.php
文件中。
https://codex.wordpress.org/Plugin_API/Filter_Reference/body_class