提问人:Yoeri Achterbergen 提问时间:9/27/2019 更新时间:9/27/2019 访问量:65
Woocommerce折扣,如果购物车有产品
Woocommerce discounts if cart has products
答:
1赞
itzmekhokan
9/27/2019
#1
在活动主题的函数 .php 中添加以下代码片段以执行上述操作 -
function apply_discount_in_woocommerce_cart() {
$coupon_code = 'abc';
if ( WC()->cart->has_discount( $coupon_code ) ) return;
$specific_products = array( 12, 13, 14 ); // Assume 3 products ids
$all_products_count = 0;
foreach ( $specific_products as $product_id ) {
$product_cart_id = WC()->cart->generate_cart_id( $product_id );
$in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
if ( $in_cart ) {
$all_products_count++;
}
}
// check all products count equals to 3 on not
if( $all_products_count === 3 ) {
WC()->cart->add_discount( $coupon_code );
wc_print_notices();
}
}
add_action( 'woocommerce_before_cart', 'apply_discount_in_woocommerce_cart', 99 );
不要忘记将数组中的虚拟产品 ID 替换为您的特定产品 ID 和优惠券代码。
评论
0赞
Yoeri Achterbergen
9/28/2019
Thnx 这:)有效,但如果人们知道优惠券代码,他们就可以打折。我在哪里可以保护只有这 3 个一起有折扣?
0赞
itzmekhokan
9/28/2019
@YoeriAchterbergen,在这种情况下,每次您都必须动态创建一次性优惠券代码并将该优惠券代码传递到上述功能上以申请这些产品。对于创建优惠券,您可以点击此链接并确保仅更改一次使用。你能接受别人会觉得有用的答案吗?update_post_meta( $new_coupon_id, 'individual_use', 'yes' );
评论