获取不包括故障在内的客户订单计数-WooCommerce

时间:2019-01-24 14:05:29

标签: php wordpress woocommerce

我正在使用if ( wc_get_customer_order_count( get_current_user_id() ) != 0 ){检查客户是否曾经订购过。如果还没有,我会在购物车中应用第一笔折扣。

但是,在某些情况下,新客户的订单将失败(主要是由于资金不足)。然后,当他们尝试重新订购时,由于“ wc_get_customer_order_count ”中包含失败的订单,因此不应用折扣。

使用此功能时是否可以排除失败的订单?

1 个答案:

答案 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
    }