Действие пользовательского заказа WooCommerce не работает со статусом корзины

#php #wordpress #woocommerce #hook-woocommerce #woocommerce-theming

Вопрос:

Я хочу использовать крючок woocommerce woocommerce_order_status_changed. Я хочу что-нибудь уволить, когда новый статус заказа-мусор.

Я использовал эту функцию, которая хорошо работает для статусов заказов на отдых, за исключением мусора.

Это мой код:

 function custom_order_actions ( $order_id, $old_status, $new_status ){
  $order = new WC_Order($order_id);

  if ($new_status == 'trash') {
    // Do something
  }
}
add_action( 'woocommerce_order_status_changed', 'custom_order_actions', 99, 3 );
 

Ответ №1:

woocommerce_order_status_changed не могу подобрать trash статус, так как это не один из зарегистрированных статусов на woocommerce, согласно их странице на github.

Однако вместо этого вы могли бы использовать wp_trash_post крючок действия!

 add_action('wp_trash_post', 'custom_order_actions');

function custom_order_actions($order_id)
{

    if ('shop_order' == get_post_type($order_id)) {
        $order = new WC_Order($order_id);
        // Do something
    }
    
}
 

wp_trash_post Документы

Дайте мне знать, если это сработает для вас!

Комментарии:

1. Сработало! Спасибо!