簡體   English   中英

如何在外部 php 頁面而不是 wordpress 中顯示 woocommerce 訂單詳細信息?

[英]How to show woocommerce order details in external php page not wordpress?

如何在外部 php 頁面中而不是在 wordpress 訂單頁面中顯示 woocommerce 訂單我的意思是當客戶通過 woocommerce 下訂單時,我想在外部 php 頁面中顯示訂單,例如外部 php 頁面中的訂單 ID、姓名、地址和電話號碼但在 wordpress 的相同路徑中。 感謝和問候

// Get 10 most recent order ids in date descending order.
$query = new WC_Order_Query( array(
    'limit' => 10,
    'orderby' => 'date',
    'order' => 'DESC',
    'return' => 'ids',
) );
$orders = $query->get_orders();

更多信息 :

如果您需要有關 wordpress 站點其余部分的數據,請使用REST API

將 Woocommerce 結帳模板復制到您的主題: wp-content/themes/my-theme/woocommerce/checkout/thankyou.php

按照您認為合適的方式修改此頁面以重定向到不同的頁面、添加包含等。首先,獲取您的訂單號。 在大約 40 的某個地方(評論指出“訂單成功”),獲取您的訂單號:

$myOrderNumber = $order->get_order_number();

只要您將訂單 ID 作為變量,使用 mysqli 查詢即可輕松獲取訂單詳細信息:

SELECT
wp_posts.ID as orderID,
wp_posts.post_date AS datePurchased,
v1.meta_value AS firstName,
v2.meta_value AS lastName,
v3.meta_value AS custEmail,
v4.meta_value AS custPhone,
v5.meta_value AS orderTotal
FROM wp_posts
INNER JOIN wp_postmeta v1  ON (wp_posts.ID = v1.post_id)
INNER JOIN wp_postmeta v2 ON (wp_posts.ID = v2.post_id)
INNER JOIN wp_postmeta v3 ON (wp_posts.ID = v3.post_id)
INNER JOIN wp_postmeta v4 ON (wp_posts.ID = v4.post_id)
INNER JOIN wp_postmeta v5 ON (wp_posts.ID = v5.post_id)
WHERE wp_posts.ID = '$myOrderNumber'
AND v1.meta_key = '_billing_first_name' 
AND v2.meta_key = '_billing_last_name'
AND v3.meta_key = '_billing_email' 
AND v4.meta_key = '_billing_phone'
AND v5.meta_key = '_order_total'
LIMIT 1

這完全在 Wordpress 之外工作。 您只需要 wp-config.php 文件中的數據庫連接信息。 如果您需要不同的信息,您可以通過在 phpMyAdmin 或 SQL 工作台等中按訂單號搜索 wp_postmeta 表來查找其他屬性。

這有幫助嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM