将产品属性Term名称添加到WooCommerce中的Body类 [英] Add the product attribute term name to body class in WooCommerce

查看:70
本文介绍了将产品属性Term名称添加到WooCommerce中的Body类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望根据产品的属性(例如颜色)添加Body类,因此如果产品颜色是红色,我希望将类‘red’添加到Body标记中。

我将使用什么挂钩来执行此操作?

推荐答案

可以使用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 );
} );

代码位于活动子主题(或主题)的函数.php文件或任何插件文件中。

此代码在WooCommerce 3+上进行了测试,可以正常工作。

这篇关于将产品属性Term名称添加到WooCommerce中的Body类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆