问题描述
如何在外部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表来找到其他属性。
有帮助吗?