Я приобрел плагин Woocommerce Subscriptions и хочу получить идентификатор заказа на странице оформления заказа. Я хочу этого, потому что, когда подписка подходит к концу, клиенту отправляется электронное письмо со ссылкой для оплаты, и автоматически добавляется заказ. Когда покупатель нажимает на ссылку, он перенаправляет на страницу оформления заказа для оплаты заказа. Мне нужен идентификатор заказа, чтобы получить метаданные из определенного заказа, используя некоторую функцию, например wc_get_order_item_meta().
Woocommerce: получить идентификатор заказа после оформления заказа
comment
Предполагается, что идентификатор заказа находится в параметрах URL? Если это есть в документах, поищите сами. docs.woothemes.com/wc-apidocs
- person Matt The Ninja   schedule 09.11.2015
comment
@MattTheNinja Идентификатор заказа находится в параметрах URL-адреса ссылки «Оплатить сейчас», содержащейся в электронном письме, отправленном клиенту. Но когда вы нажимаете на эту ссылку, она перенаправляет на страницу оформления заказа без параметров в URL-адресе. Было бы неплохо получить идентификатор заказа по этой ссылке, но я не знаю, как это сделать. Спасибо.
- person Nikos   schedule 09.11.2015
comment
НЕВОЗМОЖНО ПОЛУЧИТЬ ИДЕНТИФИКАТОР ЗАКАЗА НА СТРАНИЦЕ ПРОВЕРКИ… ЕЕ ЕЩЕ НЕ СУЩЕСТВУЕТ. Поэтому я немного изменил заголовок темы в отношении ответов здесь и сделал ее дублированной веткой существующей.
- person LoicTheAztec   schedule 08.04.2019
comment
Это не дублирующий вопрос связанного вопроса: stackoverflow.com/q/21633120/2540235. Обратите внимание, что принятый ответ на связанный вопрос здесь НЕ работает.
- person design.garden   schedule 21.08.2019
Ответы (3)
Вы можете получить это следующим образом:
global $wp;
$order_id = $wp->query_vars['order-pay'];
$order = new WC_Order( $order_id );
person
ababak
schedule
08.06.2016
Не могли бы вы уточнить свой ответ, добавив немного больше описания решения, которое вы предоставляете?
- person abarisone; 08.06.2016
Это просто способ получить идентификатор заказа. Затем идентификатор используется для заполнения заказа. Если есть конкретные вопросы, постараюсь ответить.
- person ababak; 09.06.2016
Если на страницеthankyou.php, используйте: $order_id = $wp-›query_vars['order-received'];
- person design.garden; 21.08.2019
Спасибо... @ababak
- person Pranav Patel; 06.04.2021
Это хранится в классе WC_Order
как свойство. Это означает, что вы можете использовать:
WC()->order->id;
person
rnevius
schedule
09.11.2015
К сожалению, когда я выполняю
echo WC()->order->id;
, я получаю это уведомление: Попытка получить свойство не-объекта. @rnevius
- person Nikos; 09.11.2015
Получите заказ на странице оформления заказа, ммм, не думаю, что заказ существует на данный момент, только корзина.
person
user25794
schedule
22.01.2018