在 WooCommerce 结账页面上将运费 class 添加到正文 class

Add shipping class to body class on WooCommerce checkout page

我希望在结帐页面上将运费 classes 作为主体 class 添加。

最好添加所有有效的运费 classes,但如果购物车中存在特定运费 class,则添加特定 class。

谁能帮我解决这个问题。我能找到的所有其他指南都只与删除 rates/shipping 选项有关,所以真的希望能在这里得到一些帮助。

以下将添加产品 (购物车商品) 运费 class(es) 作为附加正文 class(es ) 结帐页面上的标签:

add_filter( 'body_class', 'add_shipping_classes_to_body_class' );
function add_shipping_classes_to_body_class( $classes ) {
    // Only on checkout page
    if( is_checkout() && ! is_wc_endpoint_url() ) {
        // Loop through cart items
        foreach ( WC()->cart->get_cart() as $item ) {
            // If a shipping class is set for the product, we add it to body classes
            if ( $shipping_class = $item['data']->get_shipping_class() )
                $classes[] = $shipping_class;
        }
    }
    return $classes;
}

代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。