我有一个小问题,不知道该如何解决自己。我想仅在一种产品中将这种逻辑用于我的Woocommerce商店。
我有这样的链接以自动应用优惠券代码并将其添加到购物车:
https://testsite.com/checkout/?add-to-cart=Product_ID&quantity=1&coupon=Coupon_Code
这似乎可行,当数量为1时。但是我想在点击以前的直接链接以使其动态化时自动设置折扣(30%),例如:
2 x 30$ = 60$
的折扣,3 X 30$ = 90$
的优惠券折扣
等等。我搜索了一下,发现了这个usefull线程,但是情况和我的差不多。
如何制作特定的优惠券?一些建议或起点。谢谢
答案 0 :(得分:1)
这可以通过以下两个步骤完成:
1)添加具有以下内容的独特优惠券:
30
2)添加此代码(您将在函数中设置优惠券代码(小写)):
add_filter( 'woocommerce_coupon_get_discount_amount', 'custom_coupon_get_discount_amount', 10, 5 );
function custom_coupon_get_discount_amount( $rounded_discount, $discounting_amount, $cart_item, $single, $coupon ){
## ---- Your settings ---- ##
// Related coupons codes to be defined in this array (you can set many)
$coupon_codes = array('30perqty');
## ------ The code ------- ##
if ( $coupon->is_type('fixed_product') && in_array( $coupon->get_code(), $coupon_codes ) && $cart_item['quantity'] > 1 ) {
if( in_array( $cart_item['product_id'], $coupon->get_product_ids() ) ){
$discount = (float) $coupon->get_amount() * (int) $cart_item['quantity'];
$round = round( min( $discount, $discounting_amount ), wc_get_rounding_precision() );
}
}
return $rounded_discount;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。