Мы создали собственный статус с помощью ярлыка «baselinker», и с их платформы мы получили возможность установить, какой статус должны получить новые заказы. На данный момент это так: «Ожидание платежа» -> «Обработка» -> «BaseLinker». Как только он достигнет статуса «Обработка», электронные письма и SMS-сообщения будут отправлены автоматически. Как мы можем вообще запретить новым заказам, созданным через Rest API, получать статус «В обработке»?
Я пробовал этот код:
Код: Выделить всё
add_action('woocommerce_new_order', 'custom_set_order_status', 10, 1);
function custom_set_order_status($order_id) {
if (!$order_id) return;
$order = wc_get_order($order_id);
if (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], '/wp-json/wc/') !== false) {
// Set the order status
$order->update_status('baselinker', 'Order status changed to BaseLinker automatically by custom code.', true);
}
}
Однако действие этого кода было быстрее, чем действие на соответствующей платформе. В том смысле, что первым статусом было «BaseLinker», затем «Ожидание», затем «Обработка».
Подробнее здесь: https://stackoverflow.com/questions/782 ... -orders-fr