Код для автоматического перевода статуса «в ожидании оплаты» в статус «выполнено» для заказа в магазине на платформе woocomerce?

здравствуйте можете пожалуйста помочь
необходимо чтобы при статусе заказа "в ожидании оплаты" система сама переводила его в статус"выполнено"
вставляю данный код в functions.php

function wc_mark_all_orders_as_complete( $order_status, $order_id ) { 
$order = wc_get_order( $order_id ); 
if ( $order_status == 'processing' && in_array( $order->get_status(), array( 'on-hold', 'pending', 'failed' ) ) ) { 
return 'completed'; 
} 
return $order_status; 
} 
add_filter( 'woocommerce_payment_complete_order_status', 'wc_mark_all_orders_as_complete', 10, 2 );

но он все равно не переводит в статус выполнено автоматически, не могли бы вы подсказать почему, буду очень и очень вам благодарен
  • Вопрос задан
  • 613 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Mofsy
Ехал Грека через реку. Видит Грека в реке рак.
Не знаю откуда у вас ваш код, но он в корне не верный.

function wc_mark_all_orders_as_complete( $order_id ) { 
    $order = wc_get_order( $order_id ); 
    $order->payment_complete();
} 
add_action( 'woocommerce_order_status_pending', 'wc_mark_all_orders_as_complete' );
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы