Изменить статус заказа WooCommerce без отправки электронного уведомления - PullRequest
1 голос
/ 06 мая 2019

Я пытаюсь запретить woo-commerce отправлять почту при изменении статуса заказа. Эти заказы от Amazon, и мой плагин синхронизирует их от Amazon до Woo-Commerce. При этом пошла почта как от amazon, так и от woo-commerce, что раздражало клиентов. Поэтому я хочу, чтобы функция электронной почты была остановлена ​​при изменении статуса из моего плагина. код для изменения статуса

  $WooOrder = wc_get_order($value->post_id);
  $WooOrder->set_address($OrderData['billing'], 'billing')
  $WooOrder->update_status($wooOrderStatus) // $wooOrderStatus is set above

Есть ли какие-либо флаги, которые можно установить, чтобы избежать отправки почты?

Любые виды помощи высоко ценятся.

1 Ответ

1 голос
/ 06 мая 2019

Вместо использования WC_Order update_status() метода, просто используйте wp_update_post() следующим образом:

$WooOrder = wc_get_order($value->post_id);
$WooOrder->set_address($OrderData['billing'], 'billing');
$WooOrder->save();

// Change order status
wp_update_post(['ID' => $value->post_id, 'post_status' => 'wc-'.$wooOrderStatus]);

Это должно изменить статус заказа без отправки уведомления по электронной почте.

Примечание: Статус публикации заказов WooCommerce всегда начинается с wc-

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...