Woocommerce вручную увеличьте $ post_id, чтобы пропустить серию номеров заказов

#woocommerce #numbers #orders #skip

#woocommerce #числа #заказы #пропустить

Вопрос:

У меня возникла проблема с возвращением моего сайта в состояние истории, в котором также был возвращен $ order_id; однако мое стороннее управление запасами использовало кучу идентификаторов заказов, около 100 из которых создадут проблему, когда я доберусь до них, и заказы будут переделаны с использованием старых идентификаторов, которые уже есть в системе.

Мне нужно увеличить количество $ order_id, чтобы избежать этого; кажется достаточно простым, но я не нашел поддержки, связанной с этим, кроме копания в базе данных, и это кажется необязательным для чего-то такого простого.

Я могу манипулировать номером заказа, используя часто встречающийся «добавить префикс или суффикс к номеру заказа», но это влияет на все заказы, прошлые и будущие. Итак, если я добавлю 0 в конец; все старые заказы в системе внезапно также будут добавлены 0, и это приведет к разрыву ссылок на внешний API, управляющий заказами.

Мне нужен способ просто увеличить $ order_id на 100 ТОЛЬКО для вновь созданных заказов. Я думаю, я мог бы опубликовать 100 статей или что-то в этом роде, но я чувствую, что должен быть довольно простой способ просто увеличить количество на сайте. Пропустите несколько чисел, тогда все в порядке, понимаете?

вот код, который я использовал, который изменяет все заказы; на самом деле это бесполезно, но я упомянул об этом, так что вот он:

 add_filter( 'woocommerce_order_number', 'test_woocommerce_order_number', 1, 2 );
function test_woocommerce_order_number( $oldnumber, $order ) {
    $prefix = "AU-";
    $suffix = 0;

    return $prefix . $order->id . $suffix; 
}
  

Это изменит номер моего заказа с 10338 на: AU-103380, НО это изменит все заказы в системе. Я просто хочу увеличить счетчик, чтобы новые заказы начинались с 10438.

Ответ №1:

В итоге я просто сделал скрытый пост и сохранил его 100 раз. Если вы столкнулись с этой проблемой и вам нужно пропустить 1000 или 10000 значений $ order-> id, тогда мое решение не будет работать для вас. Это сработало для меня; каким бы «обходным путем» это ни было.