Remove Emails when order is created via api
-
Hi there,
is it possible to remove the actions so that no emails like new order emails or new customer emails were send when an order or customer is created via the api?
So the emails should still work if one purchased a product via the shop but it shouldn’t when an order is created via the api.
I tried:
function my_remove_mails_api_create_order($data, $instance) { // New order emails remove_action('woocommerce_order_status_pending_to_processing_notification', 'action_woocommerce_order_status_pending_to_processing_notification', 10, 2); remove_action('woocommerce_order_status_pending_to_completed_notification', 'action_woocommerce_order_status_pending_to_completed_notification', 10, 2); remove_action('woocommerce_order_status_pending_to_on-hold_notification', 'action_woocommerce_order_status_pending_to_on_hold_notification', 10, 2); remove_action('woocommerce_order_status_failed_to_processing_notification', 'action_woocommerce_order_status_failed_to_processing_notification', 10, 2); remove_action('woocommerce_order_status_failed_to_completed_notification', 'action_woocommerce_order_status_failed_to_completed_notification', 10, 2); remove_action('woocommerce_order_status_failed_to_on-hold_notification', 'action_woocommerce_order_status_failed_to_on_hold_notification', 10, 2); // Processing order emails remove_action('woocommerce_order_status_pending_to_processing_notification', 'action_woocommerce_order_status_pending_to_processing_notification', 10, 2); remove_action('woocommerce_order_status_pending_to_on-hold_notification', 'action_woocommerce_order_status_pending_to_on_hold_notification', 10, 2); // Completed order emails remove_action('woocommerce_order_status_completed_notification', 'action_woocommerce_order_status_completed_notification', 10, 2); // Note emails remove_action('woocommerce_new_customer_note_notification', 'action_woocommerce_new_customer_note_notification', 10, 2); return $data; } add_filter('woocommerce_api_create_order_data', 'my_remove_mails_api_create_order', 10, 2); function my_remove_mails_api_create_customer($data, $instance) { remove_action('woocommerce_created_customer_notification', 'action_woocommerce_created_customer_notification', 10, 3); return $data; } add_filter('woocommerce_api_create_customer_data', 'my_remove_mails_api_create_customer', 10, 2);
The topic ‘Remove Emails when order is created via api’ is closed to new replies.