WooCommerce - торговля - Отправляйте уведомление по электронной почте при обновлении заказа с помощью кнопки "сохранить сообщение".
WooCommerce создает новую публикацию, когда создаются новые заказы shop_order
тип сообщения. Поэтому я хочу отправить уведомление по электронной почте о заказе с помощью крючка действий wordpress save_post
.
Я написал следующий код:
add_action( 'save_post', 'notify_shop_owner_new_order', 10, 3 );
function notify_shop_owner_new_order( $post_ID, $post ) {
if( $post->post_type == 'shop_order' ) {
$headers = 'From: foo <[email protected]>';
$to = '[email protected]';
$subject = sprintf( 'New Order Received' );
$message = sprintf ('Hello, musa ! Your have received a new order from .Check it out here :');
wp_mail( $to, $subject, $message, $headers );
}
}
Но это не работает.
И если я использую ниже, не проверяя тип записи, это работает:
add_action( 'save_post', 'notify_shop_owner_new_order', 10, 3 );
function notify_shop_owner_new_order( $post_ID, $post ) {
$headers = 'From: foo <[email protected]>';
$to = '[email protected]';
$subject = sprintf( 'New Order Received' );
$message = sprintf ('Hello, musa ! Your have received a new order from .Check it out here :');
wp_mail( $to, $subject, $message, $headers );
}
Я не понимаю, в чем проблема. Мне нужно использовать параметры функции $post
и $post_id
, чтобы получить ссылку на публикацию.
Любой помочь?
Спасибо
1 answers
Сначала вам нужно получить объект $post следующим образом:
add_action( 'save_post', 'notify_shop_owner_new_order', 1, 2 );
function notify_shop_owner_new_order( $post_ID ){
// Get the post object
$post = get_post( $post_ID );
if($post->post_type == 'shop_order') {
$headers = 'From: musa <[email protected]>';
$to = '[email protected]';
$subject = sprintf( 'New Order Received' );
$message = sprintf ('Hello, musa ! Your have received a new order from .Check it out here :');
wp_mail( $to, $subject, $message, $headers );
}
}
Код протестирован и работает...
Код входит в function.php файл вашей активной дочерней темы (или темы). Или также в любых файлах php плагинов.
Аналогичный ответ: Добавление категории "Продажа" к продуктам, которые продаются, с помощью крючка "save_post"