Отправить новый заказ по электронной почте для администратора на пользовательский статус

Я создал свой статус заказа В ожидании утверждения как статус заказа по умолчанию, означает, что если клиент заказывает что-либо из магазина, он размещает его под В ожидании утверждения вместо обработка, Вот мой код для создания пользовательского статуса:

function register_my_order_status() {
register_post_status( 'wc-pending-approval', array(
'label'                     => 'Pending Approval',
'public'                    => true,
'exclude_from_search'       => false,
'show_in_admin_all_list'    => true,
'show_in_admin_status_list' => true,
'exclude_from_orders_screen'       => false,
'add_order_meta_boxes'             => true,
'exclude_from_order_count'         => false,
'exclude_from_order_views'         => false,
'exclude_from_order_webhooks'      => false,
'exclude_from_order_reports'       => false,
'exclude_from_order_sales_reports' => false,
'label_count'               => _n_noop( 'Pending Approval <span class="count">(%s)</span>', 'Pending Approval <span class="count">(%s)</span>' )
) );
}
add_action( 'init', 'register_my_order_status' );

// Add to list of WC Order statuses
function add_my_order_statuses( $order_statuses ) {

$new_order_statuses = array();

// add new order status after processing
foreach ( $order_statuses as $key => $status ) {

$new_order_statuses[ $key ] = $status;

if ( 'wc-pending' === $key ) {
$new_order_statuses['wc-pending-approval'] = 'Pending Approval';
}
}

return $new_order_statuses;
}
add_filter( 'wc_order_statuses', 'add_my_order_statuses' );

Чтобы сделать его статусом по умолчанию, я отредактировал этот файл:

wp-content/plugins/woocommerce/includes/gateways/cod/class-wc-gateway-cod.php

public function process_payment( $order_id ) {

$order = wc_get_order( $order_id );

// Mark as processing (payment won't be taken until delivery)
//$order->update_status( 'processing', __( 'Payment to be made upon delivery.', 'woocommerce' ) );
$order->update_status( 'pending-approval', __( 'Payment to be made upon delivery.', 'woocommerce' ) );
...

Как вы можете видеть, я прокомментировал статус по умолчанию (Обработка) как «Ожидает одобрения» ..

Теперь проблема в том, что он не отправляет электронные письма нового заказа администратору. & Клиенты, потому что это мой пользовательский статус и неизвестный статус для woocommerce, я не изменил ничего, кроме этого для пользовательского статуса. Пожалуйста, помогите мне в этом отношении ..

Спасибо 🙂

2

Решение

Я знаю, что это неверное решение, но моя проблема решена, я сделал следующее:

Я устанавливаю статус заказа по умолчанию как обработка, когда все мои необходимые письма были отправлены, я изменил статус заказа на свой пользовательский статус В ожидании утверждения

$order->update_status( 'processing', __( 'Payment to be made upon delivery.', 'woocommerce' ) );
$order->update_status( 'pending-approval', __( 'Payment to be made upon delivery.', 'woocommerce' ) );

Любое действительное решение все еще требуется для моей учебной цели.

ТИА

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]