【发布时间】:2023-12-22 22:00:01
【问题描述】:
当有人使用特定优惠券代码时,我正在尝试删除 Woocommerce 中的免费送货选项。我发现this question 与我的问题非常相关。下面的答案似乎真的很接近我正在寻找的东西。我是 php 新手,并试图找出在哪里为要排除的优惠券代码添加 id。
add_filter( 'woocommerce_shipping_packages', function( $packages ) {
$applied_coupons = WC()->session->get('applied_coupons', array());
if (!empty($applied_coupons)) {
$free_shipping_id = 'free_shipping:2';
unset($packages[0]['rates'][ $free_shipping_id ]);
}
return $packages;
});
这是我关于堆栈溢出的第一个问题,但这个网站在很多问题上帮助了我很多。如果我要求太多,请原谅我。提前感谢您的任何帮助/指导。
【问题讨论】:
-
欢迎来到 *。请记住实际包含您明确提出的问题in your post。现在,您所说的只是您想做某事,并且找到了代码,但这并不构成问题:您想做某事并找到了代码,所以现在看起来您拥有所需的一切开始重写您发现的内容以满足您的需求,而不是在您尝试修改该代码时出现问题。 SO 可以帮助您解决编程问题,但这确实需要正确描述问题 =)
-
(请注意,* 不是一个通用的帮助论坛,“我不知道该怎么做”不是编程问题,而是技能问题,超出了 * 的范围。”我以为我知道怎么做,所以我写了这段代码:...,但不是做 Y,它似乎做 Z,即使在调试和尝试 U、V 和 W 之后,我也想不通为什么”是一个编程问题)
-
看过developer.wordpress.org/reference/functions/add_filter 我会说你需要告诉 add_filter() 函数,你接受了多少个参数。这似乎就是为什么在您提到的问题中,标记的答案会像这样添加过滤器: add_filter( 'woocommerce_package_rates', 'coupons_removes_free_shipping', 10, 2 );
标签: php wordpress woocommerce coupon shipping-method