将Body类设置为分层自定义分类的每个级别

时间:2018-11-24 作者:Pete

如何对其进行调整以应用于特定的自定义分类法?

add_filter( \'body_class\', \'custom_cat_archiev_class\' );
function custom_cat_archiev_class( $classes ) {
    if ( is_category() ) {
        $cat = get_queried_object();
        $ancestors = get_ancestors( $cat->term_id, \'category\', \'taxonomy\' );
        $classes[] = \'catlevel-\' . ( count( $ancestors ) + 1 );
    }
    return $classes;
}

1 个回复
最合适的回答,由SO网友:Milo 整理而成

使用is_tax 而不是is_category, 和更新get_ancestors 要从查询的对象获取分类,请执行以下操作:

add_filter( \'body_class\', \'custom_cat_archiev_class\' );
function custom_cat_archiev_class( $classes ) {
    if ( is_tax( [\'custom_tax_1\', \'custom_tax_2\'] ) ) {
        $term = get_queried_object();
        $ancestors = get_ancestors( $term->term_id, $term->taxonomy, \'taxonomy\' );
        $classes[] = \'catlevel-\' . ( count( $ancestors ) + 1 );
    }
    return $classes;
}

结束

相关推荐

如何在WordPress中压缩css/js代码,提高加载速度?

目前,我的博客服务器运行良好,加载速度非常慢https://www.startupopinions.com/. 我已经安装了一个插件是总缓存和压缩代码,但仍然工作得很慢。。。让我知道伙计们是主题问题还是主要的开发部分问题。