问题描述

我对 Woocommerce 的产品细节和订单详细信息的关系有困难。我无法在 Woocommerce 主题的 「查看订单」 页面上找到相关订单 ID 的产品 ID 。我只想在 「查看订单」 页上获取产品内容和永久链接等。

我试过在 wp_postmeta 搜索,但没有运气。

最佳解决方案

你可以得到订单的订单

$order = new WC_Order( $order_id );
$items = $order->get_items();

那么如果你循环使用它们,你可以获得所有相关数据:

foreach ( $items as $item ) {
    $product_name = $item['name'];
    $product_id = $item['product_id'];
    $product_variation_id = $item['variation_id'];
}

一个很好的提示是检查管理员订单页面如何获取数据,你会发现很多答案在那里!

次佳解决方案

我曾经做过,并取得了一些成果。我想分享给其他开发者。这不是首选的方法,但是为了知识,我发布了我的答案。

global $wpdb;
            $result = $wpdb->get_results('select t1.order_item_id, t2.* FROM 
            wp_woocommerce_order_items as t1 JOIN wp_woocommerce_order_itemmeta as t2 ON t1.order_item_id = t2.order_item_id
            where t1.order_id='.$order->ID);
            echo '<pre>';
            print_r($result);
            echo '</pre>'; 

希望会帮助某人。

另外:

更好地使用 wordpress 表前缀,以避免在多个网站或迁移等问题。

global $wpdb;
$table_name = $wpdb->prefix . 'table_name'; 

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。