gpt4 book ai didi

php - 为 WooCommerce 中销售的产品启用免费送货

转载 作者:行者123 更新时间:2023-12-04 15:13:19 25 4
gpt4 key购买 nike

在 WooCommerce 中,是否可以自动对任何打折产品应用免费送货?

每个月我们都有不同的促销产品,所有促销产品自动符合免费送货条件。对于销售产品,我目前必须手动将运输类别更改为“免费送货”,然后在销售结束后恢复为“标准运输”。我想将其自动化,以便任何正在销售的产品自动符合免运费订单的条件。

我可以为每个产品 ID 申请免费送货,但我无法弄清楚如何将其应用于促销产品。

function wcs_my_free_shipping( $is_available ) {
global $woocommerce;

// set the product ids that are eligible
$eligible = array( '360' );

// get cart contents
$cart_items = $woocommerce->cart->get_cart();

// loop through the items looking for one in the eligible array
foreach ( $cart_items as $key => $item ) {
if( in_array( $item['product_id'], $eligible ) ) {
return true;
}
}

// nothing found return the default value
return $is_available;
}
add_filter( 'woocommerce_shipping_free_shipping_is_available', 'wcs_my_free_shipping', 20 );

最佳答案

要提供免费送货服务,您可以使用 is_on_sale();

function filter_woocommerce_shipping_free_shipping_is_available( $is_available, $package, $shipping_method ) {  
// Loop through cart items
foreach( $package['contents'] as $cart_item ) {
// On sale
if ( $cart_item['data']->is_on_sale() ) {
// True
$is_available = true;

// Notice
$notice = __( 'free shipping', 'woocommerce' );

// Break loop
break;
}
}

// Display notice
if ( isset( $notice ) ) {
wc_add_notice( $notice, 'notice' );
}

// Return
return $is_available;
}
add_filter( 'woocommerce_shipping_free_shipping_is_available', 'filter_woocommerce_shipping_free_shipping_is_available', 10, 3 );

可选:在提供免费送货服务时隐藏其他送货方式

function filter_woocommerce_package_rates( $rates, $package ) {
// Empty array
$free = array();

// Loop trough
foreach ( $rates as $rate_id => $rate ) {
if ( $rate->method_id === 'free_shipping' ) {
$free[ $rate_id ] = $rate;

// Break loop
break;
}
}

return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'filter_woocommerce_package_rates', 10, 2 );

关于php - 为 WooCommerce 中销售的产品启用免费送货,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64787332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com