Создать функцию php для получения статуса заказа на продление подписки клиента в woocommerce? - PullRequest
0 голосов
/ 08 июля 2019

Функция PHP для:

  • Получение текущего идентификатора клиента
  • Если у клиента есть подписка, продолжить
  • Если EXISTS -> Получить последний заказ на продление подписки клиента
  • Проверка статуса заказа на продление (т. Е. «Отложенный платеж», «на удержании», обработка, «завершение»)
  • ВОЗВРАТ статус возобновления заказа

Вот что ядо сих пор:

function get_last_customer_renewal_order() {
    $current_user_id = get_current_user_id();
    if (has_woocommerce_subscription('','','')){
    $subscriptions = wcs_get_users_subscriptions($current_user_id);
    $related_order_ID = array();
    $related_orders = array();
    foreach($subscriptions as $subscription) {
     // The subscription ID
     $related_order_ID[] = $subscription->get_related_orders( 'ids', 'renewal' );
     foreach($related_order_ID as $related_orders) {
         foreach($related_orders as $related_order) {
             $order = wc_get_order( print_r($related_order[0]));             
             echo $order->get_status;
         }   
    }
}

1 Ответ

0 голосов
/ 08 июля 2019

UPDATE: Поэтому мне удалось получить идентификатор продления с помощью следующей функции:

function get_last_customer_renewal_order() {
    $current_user_id = get_current_user_id();

    if (has_woocommerce_subscription('','','')){

        $subscriptions = wcs_get_users_subscriptions($current_user_id);
        $related_order_ID = array();
        $related_orders = array();

        foreach($subscriptions as $subscription) {

         // The subscription ID
         $related_order_ID[] = $subscription->get_related_orders( 'ids', 'renewal' );

            foreach($related_order_ID as $related_orders) {

                foreach($related_orders as $related_order) {
                    $order_id = $related_order;

                    if (! $order_id = ""){
                        $the_order_id = $related_order;
                        break 3;
                    }
                    else{
                    }
                }
            }
        }
        //$order = wc_get_order($the_order_id);
        $order = new WC_Order( $the_order_id );
        $order_status = $order->get_status();

        //echo $the_order_id, '</br>', $order_status;

        return $order_status;
    }
    else{}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...