Получить идентификатор последнего заказа Woocommerce из базы данных, используя php - PullRequest
0 голосов
/ 28 марта 2019

В Woocommerce я пытаюсь получить последний идентификатор заказа, используя следующий код:

<?php $order = new WC_Order($post->ID);echo $order->id;//to escape # from order id $order_id = trim(str_replace('#', '', $order->get_order_number())); ?>

Но это не работает, так как я получаю нулевое значение.

Цель состоит в том, чтобы добавить 1 к этому последнему идентификатору заказа, чтобы получить новый используемый код заказа.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 28 марта 2019

Похоже, вы хотели бы получить следующий пригодный для использования POST ID (Order Id) , чтобы сохранить его, например, как новый Order в базе данных с некоторыми связанными данными.

Это абсолютно не способ сделать это, и вам нужно думать иначе ... Теперь вы можете использовать один из 3 следующих способов:

  1. Использование WordPress выделенная функция wp_insert_post(), которая возвращает идентификатор сообщения (идентификатор заказа).

  2. Использование выделенной функции Woocommerce wc_create_order(), которая возвращает WC_Order Объект.

    Затем из объекта заказа вы можете получить идентификатор заказа, используя $order->get_id().

  3. Использование Woocommerce пустой WC_Order экземпляр объекта и метод save():

    // Get an empty instance of the `WC_Order` Object
    $order = new WC_Order();
    
    // Save the order to the database
    $order->save();
    
    // Get the Order ID
    $order_id = $order->get_id();
    

Добавление - Получить последний идентификатор заказа в Woocommerce:

Чтобы получить и отобразить последний идентификатор заказа в woocommerce, используйте WC_Order_Query в этой простой строке:

<?php
    $last_order_id = wc_get_orders(array('limit' => 1, 'return' => 'ids')); // Get last Order ID (array)
    echo (string) reset($last_order_id); // Displaying last order ID
?>

Проверено и работает

...