【发布时间】:2021-06-07 08:38:50
【问题描述】:
我正在寻找一种方法来限制优惠券的使用,并在客户之前在 WooCommerce 中之前的订单中使用过相关优惠券时显示错误消息。
我所说的相关优惠券是指:优惠券代码与购物车/结帐页面上当前插入的优惠券一起出现在预定义数组中。在此基础上进行比较。
我的代码尝试:
add_filter( 'woocommerce_coupon_is_valid', 'specific_coupons_valid', 10,
3 );
function specific_coupons_valid( $is_valid, $coupon, $discount ){
$coupon_codes = array( 'free10', 'free20', 'free30' );
$args = array(
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'asc',
'post_type' => 'shop_coupon',
'post_status' => 'publish',
);
$coupons = get_posts( $args );
if( in_array( $coupons, $coupon_codes ) ) {
$is_valid = false;
}
return $is_valid;
}
感谢任何帮助
【问题讨论】:
标签: php wordpress woocommerce orders coupon