Уведомление на почту о малых запасах при изменении статуса заказа на кастомный статус
Не приходит уведомление о малых запасах, если изменить статус заказа на собственный.
Я отменяю уменьшение количества запасов на статусах: 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' );
});
Но при изменении статуса заказа с "В обработке" на мой статус "Доставка" количество запасов при этом уменьшается, но уведомление о малых запасах на почту не приходит. Если перевести статус на "Отменён" и затем снова на "Доставка" уведомление приходит. Подскажите, в чем может быть дело?