Уведомление на почту о малых запасах при изменении статуса заказа на кастомный статус

Не приходит уведомление о малых запасах, если изменить статус заказа на собственный.

Я отменяю уменьшение количества запасов на статусах: pending, on-hold, processing.

Делаю это так(работает):

function do_not_reduce_onhold_stock( $reduce_stock, $order ) {
 if ( $order->has_status( 'on-hold' ) || $order->has_status( 'processing' ) || $order->has_status( 'pending' ) ) {
    $reduce_stock = false;
 } 
  return $reduce_stock;
}
add_filter( 'woocommerce_can_reduce_order_stock', 'do_not_reduce_onhold_stock', 10, 2 );

Создаю собственный статус заказа

function wpex_wc_register_post_statuses() {
   register_post_status( 'wc-shipping-progress', array(
       'label'                     => 'Доставка',
       'public'                    => true,
       'exclude_from_search'       => false,
       'show_in_admin_all_list'    => true,
       'show_in_admin_status_list' => true,
       'label_count'               => _n_noop( 'Approved (%s)', 'Approved (%s)', 'text_domain' )
   ) );
}
add_action( 'init', 'wpex_wc_register_post_statuses' );


function wpex_wc_add_order_statuses( $order_statuses ) {
   $order_statuses['wc-shipping-progress'] = 'Доставка';
   return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wpex_wc_add_order_statuses' );

Затем добавляю уменьшение запасов на кастомном статусе

add_filter('woocommerce_order_is_paid_statuses', function( $statuses ){
    $statuses[] = 'shipping-progress';
    return $statuses;
});

add_action('init', function() {
    add_action( 'woocommerce_order_status_shipping-progress', 'wc_maybe_reduce_stock_levels' );
});

Но при изменении статуса заказа с "В обработке" на мой статус "Доставка" количество запасов при этом уменьшается, но уведомление о малых запасах на почту не приходит. Если перевести статус на "Отменён" и затем снова на "Доставка" уведомление приходит. Подскажите, в чем может быть дело?


Ответы (0 шт):