我正在使用if ( wc_get_customer_order_count( get_current_user_id() ) != 0 ){
检查客户是否曾经订购过。如果还没有,我会在购物车中应用第一笔折扣。
但是,在某些情况下,新客户的订单将失败(主要是由于资金不足)。然后,当他们尝试重新订购时,由于“ wc_get_customer_order_count ”中包含失败的订单,因此不应用折扣。
使用此功能时是否可以排除失败的订单?
答案 0 :(得分:0)
您可以通过检查订单的“后状态”来获取任何类型的用户订单 像这样:
// specify the type of order you need. (delete any item that you dont need)
$order_status = array('wc-pending', 'wc-processing', 'wc-on-hold', 'wc-completed', 'wc-cancelled', 'wc-refunded', 'wc-failed');
$user_orders= wc_get_orders( array(
'meta_key' => '_customer_user',
'meta_value' => $current_user->ID,
'post_status' => $order_status,
'numberposts' => -1,
) );
然后检查结果并进行处理...
if (!empty($user_orders)){
//your code
}