-1
我想在Woocommerce中找到一種方式,讓前100名顧客免費送貨作爲促銷活動。免費送貨給Woocommerce的100個第一客戶
一旦達到100個第一客戶的限制,則將應用標準裝運。
這可能嗎?我怎樣才能做到這一點?
我想在Woocommerce中找到一種方式,讓前100名顧客免費送貨作爲促銷活動。免費送貨給Woocommerce的100個第一客戶
一旦達到100個第一客戶的限制,則將應用標準裝運。
這可能嗎?我怎樣才能做到這一點?
下面是一個簡單的下面將在2上鉤功能做這個工作的方式:
但你必須:
下面是代碼:
// Auto apply "free_shipping" coupon for first hundred
add_action('woocommerce_before_calculate_totals', 'auto_apply_free_shipping_coupon_first_hundred', 10, 1);
function auto_apply_free_shipping_coupon_first_hundred($cart_object) {
// HERE define your free shipping coupon code
$coupon_code = 'summer';// 'freeship100';
if (is_admin() && ! defined('DOING_AJAX'))
return;
// Get an instance of the WC_Coupon object
$coupon_obj = new WC_Coupon($coupon_code);
// After 100 usages exit
if($coupon_obj->get_usage_count() > 100) return;
// Auto-apply "free shipping" coupon code
if (! $cart_object->has_discount($coupon_code) && is_cart()){
$cart_object->add_discount($coupon_code);
wc_clear_notices();
wc_add_notice(__('You have win Free shipping for the first 100 customers'), 'notice');
}
}
// Hide Others Shipping methods when "Free shipping is available
add_filter('woocommerce_package_rates', 'hide_others_when_free_shipping_is_available', 100);
function hide_others_when_free_shipping_is_available($rates) {
$free = array();
foreach ($rates as $rate_id => $rate) {
if ('free_shipping' === $rate->method_id) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty($free) ? $free : $rates;
}
代碼放在您的活動子主題(或主題)的function.php文件或也以任何插件文件。
此代碼已經過測試,適用於WooCommerce版本3+