相关疑难解决方法(0)

隐藏woocommerce中特定送货类的送货方式

基本上我正在尝试使用具有运输类别"Roller"(ID )的购物车物品时flat_rate:7 禁用统一费率方法ID 92.

这是我试过的代码:

add_filter('woocommerce_package_rates', 'wf_hide_shipping_method_based_on_shipping_class', 10, 2);

function wf_hide_shipping_method_based_on_shipping_class($available_shipping_methods, $package)
{
    $hide_when_shipping_class_exist = array(
        92 => array(
            'flat_rate:7'
        )
    );

    $shipping_class_in_cart = array();
    foreach(WC()->cart->cart_contents as $key => $values) {
       $shipping_class_in_cart[] = $values['data']->get_shipping_class_id();
    }

    foreach($hide_when_shipping_class_exist as $class_id => $methods) {
        if(in_array($class_id, $shipping_class_in_cart)){
            foreach($methods as & $current_method) {
                unset($available_shipping_methods[$current_method]);
            }
        }
    }

    return $available_shipping_methods;
}
Run Code Online (Sandbox Code Playgroud)

发货类ID 92是发货类,我想隐藏flat_rate:7它.

我的网站是这样的:http://www.minimoto.me/ WordPress:4.8.4 WooCommerce:3.1.1

任何帮助将不胜感激.

php wordpress shipping cart woocommerce

5
推荐指数
1
解决办法
3932
查看次数

标签 统计

cart ×1

php ×1

shipping ×1

woocommerce ×1

wordpress ×1