Php Woocommerce根据购物车数量和购物车类别强制免费送货

Php Woocommerce根据购物车数量和购物车类别强制免费送货,php,wordpress,woocommerce,shopping-cart,hook-woocommerce,Php,Wordpress,Woocommerce,Shopping Cart,Hook Woocommerce,如何根据我的特定购物车条件强制实施免费送货 我的条件(有效): 如果购物车中有4件物品,而购物车中没有任何物品来自类别圣诞节 我也不能申请免费送货。我是否需要使用woocommerce\u cart\u calculate\u feeshook来执行此操作 add_filter( 'woocommerce_calculated_total', 'calculated_total', 10, 2 ); function calculated_total( $total, $cart ) {

如何根据我的特定购物车条件强制实施免费送货

我的条件(有效):

  • 如果购物车中有4件物品,而购物车中没有任何物品来自类别圣诞节
我也不能申请免费送货。我是否需要使用
woocommerce\u cart\u calculate\u fees
hook来执行此操作

add_filter( 'woocommerce_calculated_total', 'calculated_total', 10, 2 );
function calculated_total( $total, $cart ) {
    $taster_count = 4;
    $item_count   = $cart->get_cart_contents_count();
    $chistm_count = 0;

    foreach ( $cart->get_cart() as $cart_item ) {
        if ( ! has_term( 'christmas', 'product_cat', $cart_item['product_id'] ) ) {
            $chistm_count += $cart_item['quantity'];
        }
    }
    if( $taster_count == $item_count && $chistm_count == $taster_count  )
        $discount = 3.00;
        $cart->add_fee( 'You subscribed! Free shipping applied!', -$discount);
        return 10;
    return $total;
}

您可以使用
woocommerce\u package\u rates
hook而不是
woocommerce\u computed\u total

根据你方条件,除免费送货外,所有方法均已取消


希望这能起到作用。

您可以使用
woocommerce\u package\u rates
hook而不是
woocommerce\u computed\u total

根据你方条件,除免费送货外,所有方法均已取消


希望这能起到作用。

对不起,你能再解释一下你所说的“取消设置除免费送货外的所有方法”是什么意思吗?这个过滤器挂钩将为你提供一个所有可用运费的数组,只需从该数组中取消设置除外的所有其他值并返回该数组。很抱歉,您能否再解释一下,取消设置除免费配送外的所有方法是什么意思?此筛选器挂钩将为您提供一个包含所有可用配送率的数组,只需从该数组中取消设置除外的所有其他值并返回该数组。