从WooCommerce中的订单ID获取产品ID

时间:2013-04-25 作者:arslaan ejaz

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

我试着搜索wp_postmeta 但运气不好。

2 个回复
最合适的回答,由SO网友:Ewout 整理而成

WooCommerce 3.0+

您可以通过

$order = wc_get_order( $order_id );
$items = $order->get_items();
然后,如果循环浏览这些项目,则可以获得所有相关数据:

foreach ( $items as $item ) {
    $product_name = $item->get_name();
    $product_id = $item->get_product_id();
    $product_variation_id = $item->get_variation_id();
}
一个很好的提示是检查管理订单页面是如何获取数据的,你会在那里找到很多答案!

前WooCommerce 3.0

$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\'];
}

SO网友:arslaan ejaz

我努力了,取得了一些成就。我想分享给其他开发者。这不是首选的方式,但就我所知,我正在发布我的答案。

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\'; 

结束

相关推荐

Travel Blog Plugins

今年晚些时候,我将使用Wordpress创建一个关于我旅行的博客。我希望该博客具有以下功能我的帖子将被地理定位一张包含帖子位置的地图,可以单击地图上的各个点到达帖子</我正在寻找最好/最合适的插件。谢谢,艾尔。