如何在外部php页面而不是wordpress中显示woocommerce订单详细信息?

问题描述

如何在外部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();

More information :

如果您需要有关其余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表来找到其他属性。

有帮助吗?