我正在尝试检查优惠券是否仍然有效(未达到其使用限制)并在这种情况下显示内容。
这样做的原因是我希望能够向特定访问者分发优惠券代码,但显然不想分发已经达到其使用限制的优惠券。
我正在尝试用 PHP 实现这一点,并想象代码是这样的:
<?php if (coupon('mycouponcode') isvalid) {
echo "Coupon Valid"
} else {
echo "Coupon Usage Limit Reached"
} ?>
这里的任何帮助都会很棒:)
最佳答案
我相信推荐的方式encouraged by WooCommerce是使用\WC_Discounts
类(class)。这是一个例子:
function is_coupon_valid( $coupon_code ) {
$coupon = new \WC_Coupon( $coupon_code );
$discounts = new \WC_Discounts( WC()->cart );
$response = $discounts->is_coupon_valid( $coupon );
return is_wp_error( $response ) ? false : true;
}
Note: It's also possible to initialize the WC_Discounts class with a WC_Order object as well.
重要的是要记住至少在 wp_loaded 钩子(Hook)中这样做,就像这样:
add_action( 'wp_loaded', function(){
is_coupon_valid('my-coupon-code');
});
有一个明显更简单的方法 is_valid()
来自 WC_Coupon
类,但它已被弃用,取而代之的是 WC_Discounts->is_coupon_valid()
$coupon = new WC_Coupon( 'my-coupon-code' );
$coupon->is_valid();
关于php - WooCommerce:检查优惠券是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39745791/