繁体   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