Как я могу получить идентификатор заказа в WooCommerce?

Как получить идентификатор заказа в WooCommerce?

Ответ 1

это сработало. Просто изменил его

global $woocommerce, $post;

$order = new WC_Order($post->ID);

//to escape # from order id 

$order_id = trim(str_replace('#', '', $order->get_order_number()));

Ответ 2

Это довольно старый вопрос, но кто-то может прийти сюда, чтобы найти ответ:

echo $order->id;

Это должно вернуть идентификатор заказа без "#".

Ответ 3

Я не тестировал его и не знал, что вам нужно, но:

$order = new WC_Order(post->ID);
echo $order->get_order_number();

Сообщите мне, если это сработает. Я верю в число номеров эхо-сигналов с помощью "#", но вы можете разбить это, если нужно только число.

Ответ 4

$order = new WC_Order( $post_id ); 

Если вы

echo $order->id;

то вам будет возвращен идентификатор сообщения, из которого сделан заказ. Поскольку у вас уже есть это, это, вероятно, не то, что вы хотите.

echo $order->get_order_number();

вернет идентификатор порядка (с перед ним #). Чтобы избавиться от #,

echo trim( str_replace( '#', '', $order->get_order_number() ) );

в соответствии с принятым ответом.

Ответ 5

С точки зрения woocommerce 3.0

$order->id;

не будет работать, он будет генерировать уведомление, использовать функцию getter:

$order->get_id();

То же самое относится к другим объектам woocommerce, таким как procut.