- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
基于 Make coupon field mandatory for a product category in WooCommerce回答,我正在尝试为 woocommerce 中的特定产品实现强制性优惠券。
这是我的代码尝试:
add_action( 'woocommerce_check_cart_items', 'mandatory_coupon_for_specific_items' );
function mandatory_coupon_for_specific_items() {
$targeted_ids = array(40, 41, 42, 43, 44); // The targeted product ids (in this array)
$coupon_code = 'summer1, summer2, summer3, summer4, summer5'; // The required coupon code
$coupon_applied = in_array( strtolower($coupon_code), WC()->cart->get_applied_coupons() );
// Loop through cart items
foreach(WC()->cart->get_cart() as $cart_item ) {
// Check cart item for defined product Ids and applied coupon
if( in_array( $cart_item['product_id'], $targeted_ids ) && ! $coupon_applied ) {
wc_clear_notices(); // Clear all other notices
// Avoid checkout displaying an error notice
wc_add_notice( sprintf( 'The product"%s" requires a coupon for checkout.', $cart_item['data']-
>get_name() ), 'error' );
break; // stop the loop
}
}
}
该代码可以完美地使优惠券成为强制性的,但我需要只能使用其中一张优惠券来结帐产品的一张。
最佳答案
您的代码中有一些错误,请改用以下内容:
add_action( 'woocommerce_check_cart_items', 'mandatory_coupon_for_specific_items' );
function mandatory_coupon_for_specific_items() {
$targeted_ids = array(40, 41, 42, 43, 44); // The targeted product ids (in this array)
$coupon_codes = array('summer1', 'summer2', 'summer3', 'summer4', 'summer5'); // Array of required coupon codes
$coupons_found = array_intersect( array_filter( array_map( 'sanitize_title', $coupon_codes) ), WC()->cart->get_applied_coupons() );
// Loop through cart items
foreach(WC()->cart->get_cart() as $item ) {
// Check cart item for defined product Ids and applied coupon
if( in_array( $item['product_id'], $targeted_ids ) && empty($coupons_found) ) {
wc_clear_notices(); // Clear all other notices
// Avoid checkout displaying an error notice
wc_add_notice( sprintf( 'The product"%s" requires a coupon for checkout.', $item['data']->get_name() ), 'error' );
break; // stop the loop
}
}
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。测试和工作。
关于php - Woocommerce:特定产品的强制性优惠券,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66355212/
融e购拍一拍抽微信1-99元立减金/优惠券 微信搜索并关注“融e购”公众号 回复“拍一拍” 进入然后自己创建个群拉好友或者小号 在群里互拍对方 或者从下面链接进入小编的群大家都可以在里面互拍 每
三只松鼠收集福卡 抢千分礼包+优惠券 扫码进入微信活动文章页面 在活动页面中 下拉进入小程序 完成任务可以获得抽卡机会 收集福卡 可以得新年大礼包 有千分礼包 和 优惠券 大家速度收集 ~
我试图从优惠券折扣中排除一些具有特定产品属性的产品变体。 在我的例子中,我的目标是产品属性“finish”设置为“Classic Frame”或“Box Frame”术语的产品变体。 我尝试使用 "E
我正在使用 Paypal API 对实体商品和数字商品进行支付。 一切都按预期工作,但在我调用 set_express_checkout(使用 AngelEye PHP 类)并将用户重定向到 Payp
我可以在后端创建优惠券,但在结帐过程中,没有输入优惠券的选项。我能找到的唯一其他信息是如何通过注释掉该行来禁用优惠券 block type="checkout/cart_coupon"name="ch
我遇到了一些麻烦。我想要做的是,每次有人订阅我们的时事通讯时,都会在 Magento 中自动生成一个随机优惠券代码。优惠券是任何东西的 10 美元折扣,并且会有 exp。订阅后两周的日期。 所以,我正
我使用 Stripe 的默认表单进行付款处理。如何添加优惠券字段?我已经创建了优惠券,但我不确定如何处理优惠券代码。 " data-amount=1795 da
我正在与一个想要创建 100% 关闭订阅优惠券代码的客户合作。如果用户拥有这些优惠券代码之一,他们不希望用户必须输入信用卡。这在 Stripe 中可能吗? 我正在使用 Laravel Spark,当用
有人知道与Stripe一次性交易是否可以接受优惠券吗? 我知道您可以添加带有定期订阅的优惠券,但我只希望能够提供一次性付款折扣。 最佳答案 我认为这里的想法是,您可以完全控制单个费用(或一次性付款,无
是否有已知的方法可以通过 API 在 Magento 社区版中创建新的优惠券代码(购物车价格规则)? 我希望能够使用另一个网络应用程序自动生成优惠券代码,并通过一些后端通信在 Magento 中同时创
我一直找不到准确的答案。 我们已经知道,PayPal 的 REST API 没有应用折扣代码的选项。但是,我们可以将另一个项目添加到 item_list 中,其中包含一个 I.e. 的描述。促销/折扣
借助 QuantLib C++ 库,我尝试评估在其生命周期内具有不同息票的债券(例如,前三年为 6%,其余三年为 4%)。 我注意到 FixedRateBond 的构造函数类接受优惠券 vector
如标题中所述,我正在尝试通过电子邮件限制访问 WooCommerce 优惠券列表,以便在我的应用程序中使用它。 但是我确实成功访问了优惠券列表,但我无法通过电子邮件而非代码获取它。 现在我尝试使用 P
使用您自己的本地数据库镜像 Stripe 是一件好事吗? 使用 API 调用(创建新计划、优惠券、订阅等)和 webhook(生成新发票或费用、付款失败)进行镜像,因此您可以存储所有数据(字面意思是具
我是一名优秀的程序员,十分优秀!