Как установить статус первого заказа в качестве пользовательского статуса для вновь созданных заказов из Woocommerce ResPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как установить статус первого заказа в качестве пользовательского статуса для вновь созданных заказов из Woocommerce Res

Сообщение Anonymous »

Мы используем платформу BaseLinker, которая отправляет заказы с других торговых площадок в наш магазин WooCommerce через Rest API. Проблема в том, что изначально заказы имеют статус «Ожидание платежа», затем «В обработке», а окончательный статус остается «В обработке», вызывая автоматические электронные письма и SMS-сообщения. Однако в наших контрактах с другими торговыми площадками четко указано, что мы не можем связываться с внешними клиентами, кроме как напрямую через них.
Мы создали собственный статус с помощью ярлыка «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». Этот код не имеет смысла, поскольку их платформа уже это делает.

Однако действие этого кода было быстрее, чем действие на соответствующей платформе. В том смысле, что первым статусом было «BaseLinker», затем «Ожидание», затем «Обработка».

Подробнее здесь: https://stackoverflow.com/questions/782 ... -orders-fr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»