Woocommerce-找出购物车中的物品超过50公斤

问题描述

我正在使用Woocommerce,购物车中有很多商品。

我如何确定购物车中的某一项是否超过一定数量的公斤?

例如。

如果购物车中有一件重量超过50公斤的物品,请执行XYZ。

目前,我可以使用以下代码获取所有购物车商品的总重量:

$cartweight = $woocommerce->cart->cart_contents_weight;

如何确定购物车中的一件物品重量是否超过50公斤?

解决方法

弄清楚了。这是我的代码:

add_filter( 'woocommerce_get_item_data','display_custom_item_data',10,2 );
function display_custom_item_data( $cart_item_data,$cart_item ) {
    
    session_start();
    
    if ( $cart_item['data']->get_weight() > 0 ){
        $cart_item_data[] = array(
            'name' => __( 'Weight','woocommerce' ),'value' =>  ( $cart_item['data']->get_weight() )  . ' ' . get_option('woocommerce_weight_unit')
        );
    }
    
    $cart_item_weight = $cart_item['data']->get_weight();
    
    if ($cart_item_weight >= "30" && $cart_item_weight <= "59")
    {
        $_SESSION["weightflag"] = "delivery_options1";
    }
    elseif ($cart_item_weight >= "60")
    {
        $_SESSION["weightflag"] = "delivery_options2";
    }
    
    return $cart_item_data;
}