为顶级产品类别添加 body class 到 WooCommerce 档案
Add a body class for top level product categories to WooCommerce archives
我正在使用 WooCommerce 并且有产品类别、子类别和 sub-subcategories。我只需要将一些 css 应用于不是子类别的产品类别(主要的“parent”产品类别)。这些有 body 选择器吗?
到目前为止,我只提出了使用每个类别 ID 的解决方案,但这会导致大量 css。
基于 Add a body class for product category archive page in Woocommerce answer code, using the dedicated WordPress body_class
action hook, with Woocommerce is_product_category()
,您可以添加 top-category
作为所有顶级类别归档页面的正文 class,如下所示:
add_filter( 'body_class', 'parent_category_as_body_class', 99, 1 );
function parent_category_as_body_class( $classes ){
if( is_product_category() ){
$ancestors = get_ancestors( get_queried_object_id(), 'product_cat' );
if( count($ancestors) == 0 ) $classes[] = 'top-category';
}
return $classes;
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
我正在使用 WooCommerce 并且有产品类别、子类别和 sub-subcategories。我只需要将一些 css 应用于不是子类别的产品类别(主要的“parent”产品类别)。这些有 body 选择器吗?
到目前为止,我只提出了使用每个类别 ID 的解决方案,但这会导致大量 css。
基于 Add a body class for product category archive page in Woocommerce answer code, using the dedicated WordPress body_class
action hook, with Woocommerce is_product_category()
,您可以添加 top-category
作为所有顶级类别归档页面的正文 class,如下所示:
add_filter( 'body_class', 'parent_category_as_body_class', 99, 1 );
function parent_category_as_body_class( $classes ){
if( is_product_category() ){
$ancestors = get_ancestors( get_queried_object_id(), 'product_cat' );
if( count($ancestors) == 0 ) $classes[] = 'top-category';
}
return $classes;
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。