Wordpress 检查是否在woocommerce中应用了任何优惠券代码
如何在结账时检查是否有优惠券应用于woocommerce中的产品 我看到的所有东西都会检查ID或slug,或者它们的数组,但我想根据是否有优惠券,任何优惠券,在结账时调整一些字段Wordpress 检查是否在woocommerce中应用了任何优惠券代码,wordpress,woocommerce,conditional,checkout,Wordpress,Woocommerce,Conditional,Checkout,如何在结账时检查是否有优惠券应用于woocommerce中的产品 我看到的所有东西都会检查ID或slug,或者它们的数组,但我想根据是否有优惠券,任何优惠券,在结账时调整一些字段 提前感谢。您可以使用购物车的has\u折扣()功能。。这需要优惠券代码作为参数 像这样使用它: if (WC()->cart->has_discount('test1')) { // cart has coupon test1 applied } 按照@Anand的建议,您可以使用WC()->ca
提前感谢。您可以使用购物车的
has\u折扣()
功能。。这需要优惠券代码作为参数
像这样使用它:
if (WC()->cart->has_discount('test1')) {
// cart has coupon test1 applied
}
按照@Anand的建议,您可以使用
WC()->cart->get_优惠券()
。这将返回所有的优惠券,如果有任何在购物车
但是,正如我检查woocommerce插件源代码时所看到的,get\u tupbools()
正在使用WP\u Query
。
如果没有其他更好的方法,那真的没什么大不了的
这里有一个更好的方法。我们可以访问购物车的公共变量应用的\u优惠券
。它包含应用于购物车的优惠券代码数组。我们可以这样使用它
$has_coupons = count(WC()->cart->applied_coupons)>0?true:false;
if($has_coupons) {
// cart has coupons
}
如果您想查看特定优惠券,@Reigel的答案就是解决方案。但是,为了检查是否应用了任何优惠券,以下代码将完成此工作
if( WC()->cart->get_coupons() ) echo "Coupon applied";
这不检查特定优惠券(即“test1”优惠券)吗?我不需要这么具体的东西。啊,是的,对不起,但是有人已经建议了
WC()->cart->get_-coupons()
,这是正确的方法。我还尝试了@Reigel,这也很有效。谢谢你们两位。