Получить количество заказов клиентов, исключая сбои - WooCommerce - PullRequest
0 голосов
/ 24 января 2019

Я использую if ( wc_get_customer_order_count( get_current_user_id() ) != 0 ){, чтобы проверить, заказывал ли клиент раньше.Если нет, я применяю скидку на первый заказ в корзине.

Однако было несколько случаев, когда заказ нового клиента не удался (в основном из-за нехватки средств).Затем, когда они пытаются переупорядочить, скидка не применяется, потому что " wc_get_customer_order_count " включает неудачные заказы.

Есть ли способ исключить невыполненные заказы при использовании этой функции?

1 Ответ

0 голосов
/ 24 января 2019

Вы можете получить любой тип пользовательских заказов, проверив 'post-status' таких заказов:

// 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
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...