Я создал собственный статус заказа в моем WooCommerce под названием Обратный заказ (wc-backorder
):
/**
* Add custom status to order list
*/
add_action( 'init', 'register_custom_post_status', 10 );
function register_custom_post_status() {
register_post_status( 'wc-backorder', array(
'label' => _x( 'Back Order', 'Order status', 'woocommerce' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Back Order <span class="count">(%s)</span>', 'Back Order <span class="count">(%s)</span>', 'woocommerce' )
) );
}
/**
* Add custom status to order page drop down
*/
add_filter( 'wc_order_statuses', 'custom_wc_order_statuses' );
function custom_wc_order_statuses( $order_statuses ) {
$order_statuses['wc-backorder'] = _x( 'Back Order', 'Order status', 'woocommerce' );
return $order_statuses;
}
Теперь я хочу получать электронное письмо всякий раз, когда получен заказ, для которого был указан статус. Я создал плагин на основе этой полезной статьи: Как добавить собственный адрес электронной почты WooCommerce
Эта ссылка содержит исходный код моего подключаемого модуля код и код functions.php.
Я добавил ловушку в function.php:
add_action( 'woocommerce_order_status_wc-order-confirmed', array( WC(), 'send_transactional_email' ), 10, 10 );
function so_27112461_woocommerce_email_actions( $actions ){
$actions[] = 'woocommerce_order_status_wc-order-confirmed';
return $actions;
}
add_filter( 'woocommerce_email_actions', 'so_27112461_woocommerce_email_actions' );
Ничего не происходит, когда заказ переходит в статус «Обратный заказ».
Любые идеи?
Я перепробовал множество разных хуков, но мне не удалось запустить функцию триггера.
Я использую последние версии WordPress и WooCommerce (3.0+)
Спасибо