【问题标题】:body_class wordpress load other classbody_class wordpress 加载其他类
【发布时间】:2015-04-15 18:33:07
【问题描述】:

当我访问某个类别时,我尝试创建不同的正文类,它工作完美,除非我尝试创建新类别然后访问类别帖子,它会回显特定的类别类而不是正常的 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(); .

知道为什么它不起作用吗?

【问题讨论】:

    标签: wordpress


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      相关资源
      最近更新 更多