Woocommerce製品の詳細と注文の詳細の関係に問題があります。Woocommerceテーマの[View Orders]ページで、関連する注文IDの製品IDを見つけることができません。[注文の表示]ページで商品コンテンツやパーマリンクなどを取得したいだけです。
検索してみましwp_postmeta
たが、運がありませんでした。
Woocommerce製品の詳細と注文の詳細の関係に問題があります。Woocommerceテーマの[View Orders]ページで、関連する注文IDの製品IDを見つけることができません。[注文の表示]ページで商品コンテンツやパーマリンクなどを取得したいだけです。
検索してみましwp_postmeta
たが、運がありませんでした。
回答:
注文の注文アイテムを取得するには
$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();
}
管理者の注文ページがデータを取得する方法を確認することをお勧めします。そこには多くの答えがあります。
$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>';
誰かが助けてくれることを願っています。
複数のWebサイトや移行などの問題を回避するために、wordpressテーブルプレフィックスを使用することをお勧めします。
global $wpdb;
$table_name = $wpdb->prefix . 'table_name';