在WooCommerce中将产品属性的术语名称添加到正文类

问题描述:

我希望根据产品属性(例如颜色)添加正文类,因此如果产品颜色为红色,我希望添加类“红色”到身体标签。在WooCommerce中将产品属性的术语名称添加到正文类

我会用什么钩子来做到这一点?

这可以用body_class过滤钩子钩住这样的自定义函数来完成:

add_filter('body_class', function($classes) { 
    if(! is_product()) return $classes; 

    global $post; 
    $custom_classes = array(); 

    $product = wc_get_product($post->ID); 

    foreach($product->get_attributes() as $taxonomy => $wc_attribute){ 
     if($taxonomy == 'pa_color') 
      $custom_classes = $wc_attribute->get_slugs(); 

    return array_merge($classes, $custom_classes); 
}); 

代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。

此代码在Woocommerce 3+上测试并正常工作。