在运营WooCommerce独立站时,优惠券是吸引顾客、提升销量的重要工具。WooCommerce本身提供了灵活的优惠券设置,允许我们为每个优惠券单独设置使用规则,比如设置 “单独使用 “选项,限制该优惠券不能与其他优惠券叠加使用。然而,在某些情况下,我们可能希望更进一步,对整个网站设置 “在结账时一次只能使用一个优惠券 “的规则。
比如,当我们的独立站接入了联盟营销后,联盟营销可能会自动在网站后台设置各种优惠券,而此时这些优惠券默认情况是没有限制叠加使用的,可能会导致客户同时使用多个优惠券,最终影响到实际成交价格;虽然WooCommerce本身没有限制叠加使用,但我们希望能更进一步,对整个网站设置 “在结账时一次只能使用一个优惠券 “的规则。
虽然 WooCommerce 本身没有提供直接设置全局的 “一次只能使用一个优惠券 “的选项,但我们可以通过添加自定义代码来实现这个功能。
add_action('woocommerce_applied_coupon', 'restrict_single_coupon_usage', 10, 1); 函数 restrict_single_coupon_usage($coupon_code) { $applied_coupons = WC()->cart->get_applied_coupons(); 如果 (count($applied_coupons) > 1) { WC()->cart->remove_coupon($coupon_code); // 显示错误消息,这里的错误消息可以自己随意修改 wc_add_notice(__('一次只能使用一个优惠券。', 'woocommerce'), 'error'); } }
使用方法:将以上代码添加到主题的 functions.php 文件或自定义插件中。保存更改后,代码即可生效。
注意事项:该代码仅适用于 WooCommerce 默认的优惠券功能,如果您使用了其他优惠券插件,可能需要根据插件文档进行相应的修改。在添加代码之前,建议备份网站数据,以防出现意外情况。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)