Php 将产品属性术语名称添加到WooCommerce中的body类

Php 将产品属性术语名称添加到WooCommerce中的body类,php,wordpress,woocommerce,product,hook-woocommerce,Php,Wordpress,Woocommerce,Product,Hook Woocommerce,我希望根据产品的属性添加一个body类,例如color,因此如果产品颜色为红色,我希望将类“red”添加到body标记中 我将使用什么钩子来完成此操作?这可以通过在body\u类中钩子的自定义函数来完成,方法如下: add_filter( 'body_class', function( $classes ) { if( ! is_product() ) return $classes; global $post; $custom_classes = array();

我希望根据产品的属性添加一个body类,例如color,因此如果产品颜色为红色,我希望将类“red”添加到body标记中


我将使用什么钩子来完成此操作?

这可以通过在
body\u类中钩子的自定义函数来完成,方法如下:

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+上进行了测试,可以正常工作