我知道订单驻留在wp_posts表中,post_type为shop_order。wp_postmeta表包含有关每个订单的信息,例如名称,地址,状态等。但是,我缺少的是用户订购的项目。
我在数据库中找不到拉取该信息的关系。
有人可以指出我正确的方向吗?
为什么不让WooCommerce为您获取物品呢?
// create the order object
$order = wc_get_order( $order_id );
// retrieve the items associated with that order
$order_items = $order->get_items();
// dump the array of returned items
var_dump($order_items);
如果我理解你的问题,这就是你需要的:
$sql = "SELECT * FROM wp_posts "
. " INNER JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id"
. " WHERE wp_posts.ID = " . $postId;
然后查看wp_postmeta
键。
正如您所说,订单存储为帖子。
对于产品,你必须继续wp_woocommerce_order_items和wp_woocommerce_order_itemmeta
有一个连接的例子
inner join wp_woocommerce_order_items as woi on ( woi.order_id = posts.ID )
inner join wp_woocommerce_order_itemmeta as woim on ( woim.order_item_id = woi.order_item_id )