首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为WordPress编写一个网页钩子,允许我使用一个优惠券代码进行两次不同的折扣?

如何为WordPress编写一个网页钩子,允许我使用一个优惠券代码进行两次不同的折扣?
EN

Stack Overflow用户
提问于 2020-01-17 16:34:34
回答 2查看 511关注 0票数 1

我有一个客户谁想添加一个优惠券的WordPress/WooCommerce结账。通常,我只需去WooCommerce >优惠券并创建优惠券。

然而,他们想要一个优惠券代码给两个不同的产品一个产品折扣。这种情况下的产品是门票。

“产品A”周末为17.95美元(产品ID =2848)

  • “产品B”周末为10.95美元(产品ID =2847)

  • “产品B”周末为12.95美元(产品ID = 2849)

  • PRODUCT A折扣为周末11.95美元,周末tickets

  • PRODUCT B折扣为11.95美元)

平日和周末票8.95美元

工作流程:

field

  • WordPress

  • 用户添加1张产品A到购物车

  • 用户再加1张产品B到购物车

  • 用户进入优惠券COUPON1折扣

挂钩,通过他们的ID在购物车中通知这些产品,并注意到优惠券COUPON1已被

  • 创建产品A和B

  • 小计的折扣价格现在显示为$11.95 + $8.95 =$20.90

G 229

我可以为15.95美元的周末和工作日门票创建一个优惠券代码,但它不能应用于第二个产品(产品B)。

如果使用优惠券,如果购物车中有任何产品in 2846或2848,则可享受11.95美元的折扣。

如果使用优惠券,如果购物车中有任何产品in 2847或2849,则应给予8.95美元的折扣。

我想可能有一个网络钩子,可以写,将为我这样做。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2020-01-20 15:55:59

以下是我所做的,以防其他人将来想这样做:

  1. 在WooCommerce >优惠券中创建优惠券,将其分配给与此优惠券相关的4种产品,但折扣为0美元。下一步将触发此优惠券。“WC定价与折扣插件>购物车折扣”选项卡中的
  2. ,为每个产品创建一条规则及其每项固定折扣,将该规则分配给单个产品(即产品ID = 2846是4美元),并给它一个条件,即应用的优惠券=COUPON1
  3. 对购物车中的每个产品ID
  4. 执行相同的操作--它将在应用时显示带有优惠券名称的行。因此,我只是使用CSS显示隐藏了该行:none for class .coupon-COUPON1
  5. Make,确保在购物车折扣选项卡
  6. 中启用了所有适用的规则,现在每一行规则都显示这些产品在购物车中时的样式,并且为了更好地将行样式化,我在规则标题(即优惠券:产品2846的COUPON1 br折扣)中添加了一个中断标记,然后在.cart-discount

类中添加了CSS行高:1.75em。

票数 1
EN

Stack Overflow用户

发布于 2020-01-19 05:50:23

我不认为一个优惠券代码就能做到这一点。一开始我以为你需要一张周末和工作日的优惠券代码才能自动改变,但是两种不同的产品不可能有不同的折扣。

你能做的就是动态地添加第二个优惠券。在后端有一个“秘密”优惠券,只控制产品B(使用优惠券限制-选择产品B只受影响)。

然后每次产品B在购物车中动态添加和调整优惠券:

代码语言:javascript
复制
define('PRODUCT_B_ID', 2487);
add_filter( 'woocommerce_add_to_cart_handler', 'apply_secret_coupon', 50, 2);

function apply_secret_coupon($product_type, $product){
    if ($product->get_id() == PRODUCT_B_ID){
        $calculated_discount_amount = 15.22;
        $secret_coupon     = new WC_Coupon('MySecretCoupon');
        $secret_coupon->set_amount($calculated_discount_amount);
        $secret_coupon->save();
        WC()->cart->apply_coupon('MySecretCoupon');
    }
 return $product_type;
}

我注意到您使用的产品I很少。如果您根据需要修改该代码,则此代码可以为您提供解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59791417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档