Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

WooCommerce — потужний інструмент для створення інтернет-магазинів на базі WordPress, який вирішує все від демонстрації товарів до обробки покупок, управління податками та багато іншого.

Як створити woocommerce order details page by order id

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Однією з визначних особливостей WooCommerce є його здатність зберігати докладну інформацію про замовлення. Він ретельно зберігає кожен аспект замовлення, включаючи суму, валюту, деталі доставки та податки.

Ця докладна інформація є цінною як для власників магазинів, так і для клієнтів. Уявіть собі створення сторінки, на якій користувачі можуть без зусиль перевірити деталі замовлення та налаштувати її для відображення додаткової інформації.

У цьому посібнику ви дізнаєтесь, як створити сторінку користувача WooCommerce, на якій будуть відображатися відомості про замовлення (ордер) на основі його ідентифікатора.

Навіщо створювати індивідуальну сторінку із подробицями замовлення?

Створення сторінки з даними про замовлення WooCommerce може дати кілька переваг, задовольняючи потреби як власника магазину, так і клієнта. Ось кілька вагомих причин, з яких хочеться піти цим шляхом:

  1. Покращений досвід користувача — сторінка з даними користувача про замовлення надає інформацію, яка найкраще відповідає потребам клієнтів. При налаштуванні макету та змісту сторінки можна виділити важливі деталі, такі як статус доставки, характеристики продукту та дати доставки, що спрощує клієнтам швидкий пошук того, що вони шукають.
  2. Додаткові функції — сторінка користувача з подробицями замовлення дозволить додати недоступні за замовчуванням функції WooCommerce. Наприклад, можна відображати поля користувача, такі як повідомлення про подарунки, спеціальні інструкції або персональні нотатки, унікальні для кожного ордера.
  3. інтерактивність — сторінка з подробицями, що настроюється, дозволяє включати інтерактивні елементи, такі як індикатори виконання для відстеження замовлення, посилання на супутні товари або прямий доступ до служби підтримки клієнтів, забезпечуючи більш насичений та цікавий досвід для ваших користувачів.
  4. Гнучкість та адаптивність — створення сторінки з даними користувача про замовлення дасть можливість реалізувати логіку, специфічну для вашого бізнесу, і адаптуватися до мінливих потреб. Ви можете відображати різну інформацію на основі критеріїв, унікальних для вашого магазину, таких як розташування клієнта або тип продуктів.

Дивіться також:

WooCommerce проти Shopify – все, що потрібно знати.

Як отримати дані про замовлення з об'єкта $order

У WooCommerce $orderоб'єкт є центральною частиною, яка містить всю інформацію про конкретне замовлення. Використовуючи цей об'єкт, можна отримати різні відомості, такі як ідентифікатор, дата, інформація про виставлення рахунків та доставки, а також придбані продукти.

Давайте докладно розглянемо, як отримати доступ до цих різних фрагментів даних об'єкта $order та використовувати їх.

1. Вийняти об'єкт замовлення

Спочатку необхідно отримати об'єкт замовлення за допомогою wc_get_orderфункції. Ця функція приймає ідентифікатор та повертає відповідний об'єкт.

$order_id = 123; // Example order ID
$order = wc_get_order( $order_id );

2. Основна інформація про замовлення

Отримавши об'єкт $orderВи можете отримати основну інформацію про замовлення. Ось кілька прикладів:

  • Ідентифікатор замовлення - Унікальний ідентифікатор.
    $order_id = $order->get_id();
    echo 'Order ID: ' . $order_id;
    
  • Дата замовлення - Дата створення ордера.
    $order_date = $order->get_date_created();
    echo 'Order date: ' . wc_format_datetime( $order_date );
    
  • Загальна сума замовлення  - Загальна сума товарів.
    $order_total = $order->get_formatted_order_total();
    echo 'Order total: ' . $order_total;
    

3. Платіжна інформація

Інформація про виставлення рахунків включає дані, надані клієнтом під час оформлення. Ви можете отримати ці дані, використовуючи такі методи:

  • Адреса для виставлення рахунку:
    $billing_address = $order->get_formatted_billing_address();
    echo 'Billing address: ' . $billing_address;v
    
  • Електронна пошта для виставлення рахунків:
    $billing_email = $order->get_billing_email();
    echo 'Billing email: ' . $billing_email;
    
  • Телефон для виставлення рахунків:
    $billing_phone = $order->get_billing_phone();
    echo 'Billing phone: ' . $billing_phone;
    

4. Інформація про доставку

Інформація про доставку включає інформацію про те, куди буде надіслано замовлення. Подібно до інформації про виставлення рахунків, можна отримати доступ до цих відомостей за допомогою об'єкта $order:

  • Адреса доставки:
    $shipping_address = $order->get_formatted_shipping_address();
    echo 'Shipping address: ' . $shipping_address;
    

5. Замовити товари

Можна отримати елементи, включені до ордеру, що особливо корисно, якщо необхідно відобразити куплені продукти. Ось як отримати елементи:

$items = $order->get_items();
foreach ( $items as $item_id => $item ) {
    $product_name = $item->get_name();
    $product_quantity = $item->get_quantity();
    $product_total = $item->get_total();
    echo 'Product name: ' . $product_name . '<br>';
    echo 'Quantity: ' . $product_quantity . '<br>';
    echo 'Total: ' . wc_price( $product_total ) . '<br>';
}

6. Способи оплати та доставки

Ви також можете отримати інформацію про способи оплати та доставки, використані для замовлення:

  • Спосіб оплати:
    $payment_method = $order->get_payment_method_title();
    echo 'Payment method: ' . $payment_method;
    
  • Спосіб доставки:
    $shipping_methods = $order->get_shipping_methods();
    foreach ( $shipping_methods as $shipping_method ) {
    echo 'Shipping method: ' . $shipping_method->get_name();
    }
    

7. Статус замовлення

Статус може бути корисним для різних функцій, таких як відстеження виконання замовлення:

$order_status = wc_get_order_status_name( $order->get_status() );
echo 'Order status: ' . $order_status;

Створення сторінки для відображення деталей за ідентифікатором замовлення

Щоб забезпечити безперебійну роботу з клієнтами, корисно створити спеціальну сторінку, на якій вони зможуть переглядати відомості про замовлення, просто ввівши ідентифікатор.

Нижче наведено процес створення сторінки, включаючи налаштування шаблону та відображення інформації про замовлення.

Крок 1: Створіть свій шаблон сторінки

Спочатку створіть власний шаблон сторінки у вашій темі WordPress. Цей шаблон використовуватиметься для відображення деталей.

Для цього перейдіть до вихідного коду проекту. Ви також можете використовувати FTP-клієнт, використовуючи налаштування на сторінці інформації про ваш сайт ( Сайти WordPress  > назва сайту  > інформація ).

У каталозі дочірньої теми створіть новий файл з ім'ям page-order-details.php. Додайте до цього файлу наступний код:

<?php
/**
 * Template Name: Order Details
 */
get_header();
?>

<div id="primary" class="content-area">
    <main id="main" class="site-main">

        <?php
        if ( isset( $_GET['order_id'] ) ) {
            $order_id = intval( $_GET['order_id'] );
            display_order_details( $order_id );
        } else {
            echo '<p>No order ID provided.</p>';
        }
        ?>

    </main><!-- #main -->
</div><!-- #primary -->

<?php
get_footer();

// Function to display order details
function display_order_details( $order_id ) {
    $order = wc_get_order( $order_id );
    if ( ! $order ) {
        echo '<p>Invalid order ID.</p>';
        return;
    }

    echo '<h2>Order Details</h2>';
    echo '<ul>';
    echo '<li>Order ID: ' . $order->get_id() . '</li>';
    echo '<li>Order Date: ' . wc_format_datetime( $order->get_date_created() ) . '</li>';
    echo '<li>Order Total: ' . $order->get_formatted_order_total() . '</li>';
    echo '<li>Billing Address: ' . $order->get_formatted_billing_address() . '</li>';
    echo '<li>Shipping Address: ' . $order->get_formatted_shipping_address() . '</li>';
    echo '<li>Billing Email: ' . $order->get_billing_email() . '</li>';
    echo '<li>Billing Phone: ' . $order->get_billing_phone() . '</li>';
    echo '<li>Payment Method: ' . $order->get_payment_method_title() . '</li>';
    echo '<li>Order Status: ' . wc_get_order_status_name( $order->get_status() ) . '</li>';
    echo '</ul>';

    echo '<h3>Order Items</h3>';
    echo '<ul>';
    $items = $order->get_items();
    foreach ( $items as $item_id => $item ) {
        echo '<li>';
        echo 'Product Name: ' . $item->get_name() . '<br>';
        echo 'Quantity: ' . $item->get_quantity() . '<br>';
        echo 'Total: ' . wc_price( $item->get_total() ) . '<br>';
        echo '</li>';
    }
    echo '</ul>';
}

Давайте розберемо цей код, щоб ви зрозуміли.

По-перше, вказуємо функції get_header()и get_footer(), які включають стандартний верхній та нижній колонтитул WordPress для сторінки, гарантуючи, що вона збереже загальний дизайн та макет сайту.

У нас також є деякі базові HTML-розмітки, які є важливими для відображення тексту в Інтернеті. Наступний важливий код – це умова, яка перевіряє, order_idчи передається як параметр URL.

if ( isset( $_GET['order_id'] ) ) {
    $order_id = intval( $_GET['order_id'] );
    display_order_details( $order_id );
} else {
    echo '<p>No order ID provided.</p>';
}

Що він робить, так це те, що якщо order_idіснує, він очищає вхідні дані за допомогою intval()і викликає display_order_details функцію. Якщо не вказано order_idвін виводить повідомлення, що вказує на це.

Функція display_order_details- це функція, оголошена нижче get_footer(). Ця функція приймає ідентифікатор як вхідні дані та витягує відповідний об'єкт замовлення за допомогою wc_get_order().

Якщо ідентифікатор є недійсним, відображається повідомлення про помилку. В іншому випадку виймаються та відображаються різні відомості про замовлення, такі як ідентифікатор, дата, загальна сума, адреси виставлення рахунків та доставки, адреса електронної пошти, телефон, спосіб оплати та статус у неупорядкованому списку.

Крім того, він перебирає позиції ордера та відображає назву товару, кількість та загальну ціну для кожної позиції в іншому невпорядкованому списку.

Крок 2: Додайте шаблон до своєї теми і створіть нову сторінку WordPress.

Збережіть файл page-order-details.php у каталозі дочірньої теми. Це зробить шаблон доступним для вибору під час створення нової сторінки WordPress.

Далі перейдіть до сторінки > Додати у панелі адміністратора WordPress. Дайте сторінці ім'я, а потім у розділі Page Attributes праворуч виберіть шаблон Подробиці замовлення з списку Template, що розкривається.

Якщо ви не бачите розділ Атрибути сторінки, то можете повернутися назад Сторінки, де ви побачите список усіх сторінок з деякими опціями при наведенні курсору на кожну сторінку. Виберіть Швидке редагування, щоб знайти розділ Атрибути сторінки.

Опублікуйте сторінку, і тепер її можна протестувати з даними про індивідуальне замовлення.

Для перевірки перейдіть до браузера та додайте до URL-адреси?order_id=ORDER_ID дійсний ідентифікатор WooCommerce ORDER_ID. наприклад, https://yourwebsite.com/order-details/?order_id=70

Це має відображати деталі замовлення для зазначеного ідентифікатора.

order details id

Потім можна додати стиль до шаблону на власний розсуд.

Створення сторінки відомостей про замовлення з використанням шорткоду відстеження

Ще одна опція, про яку ви, можливо, не знаєте, - це шорткод відстеження замовлень WooCommerce, який надає користувачам інтерфейс користувача для пошуку даних свого замовлення шляхом введення номера ордера та адреси електронної пошти.

деталі замовлення

На цій сторінці відображається номер замовлення, дата, статус, товари, адреса доставки та виставлення рахунку. Це може бути корисним, якщо ви не збираєтеся показувати більш детальну інформацію.

Створення сторінки відстеження замовлень з використанням шорткоду відстеження ордерів WooCommerce — це простий спосіб покращити якість обслуговування клієнтів, не заглиблюючись у написання коду користувача.

Для цього виконайте такі дії:

  1. Увійдіть до панелі керування WordPress.
  2. Потім створіть нову сторінку, перейшовши в Сторінки > Додати нову.
  3. Дайте сторінці заголовок і в редакторі сторінок додайте наступний шорткод:
    [woocommerce_order_tracking]
  4. Потім натисніть кнопку «Опублікувати», щоб опублікувати сторінку

Так просто. Але це може не дати вам бажаної гнучкості.

Створення сторінки відомостей про замовлення WooCommerce покращує якість обслуговування клієнтів, надаючи їм легкий доступ до інформації про замовлення, підвищуючи прозорість і задоволеність клієнтів.

Джерело: kinsta.com

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, який спеціалізується на створенні сайтів на WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 0

Додати коментар або відгук