Статус заказа Woocommerce Paypal не меняется - PullRequest
0 голосов
/ 27 августа 2018
add_filter( 'woocommerce_payment_complete_order_status', 'status_after_order', 10, 2 );

function status_after_order( $order_status, $order_id ){
    echo $order_status;
}

Когда мы заказываем через PayPal, администратор может установить удерживать запас (Woocommerce> Продукты> Инвентарь). после истечения времени ожидания статус заказа автоматически обновляется до «Отменено» для администратора, но когда мы используем вышеупомянутый фильтр, он показывает «Обработка».

В этом случае любой фильтр / действие, которое он даст, дает мне статус «Отменено». Можете ли вы помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 27 августа 2018

Ну, во-первых, используемый вами крючок предназначен только для статуса завершения заказа, поэтому вы не получаете статус заказа.

однако я не знаю, что именно вы хотите сделать после обнаружения заказа, но у вас есть два решения:

первое решение - обнаружить, когда статус заказа изменился с любого статуса на отмененный

add_action('woocommerce_order_status_cancelled', 'check_status', 30, 2);

function check_status($order_id)
{
    wp_die( $order_id ); // this will echo the id or you can do whatever you want here 

}

Второе решение состоит в том, чтобы проверить, был ли заказ изменен с определенного статуса на другой, используя этот хук:

add_action('woocommerce_order_status_changed', 'check_status', 30, 3);

function test12($id, $old_status, $new_status)
{

    if ($new_status == 'cancelled') {
        //do Somthing
    }

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