2016-04-11 8 views
0

WooCommerce 2.4.13では、特定の顧客(WC_Customer、現在のログインしている顧客のみ)の注文リスト(WC_Order)を取得したいと考えています。 documentationから、クラスWC_Customerには、関連付けられた注文記録にアクセスするパブリックプロパティ/機能がありません。特定のWC_CustomerのWooCommerce注文(WC_Order)を表示するにはどうすればよいですか?

どうすればこの問題を解決できますか?私が考えることができる唯一の解決策は、データベースから生データをフェッチすることです。より良い解決策はありますか?

p.s. WooCommerceの顧客のリストを取得することは難しいようです。次のように

+1

データベースから生データを取得する代わりに、独自の「WP_Query」を作成して必要な結果を得ることができます。 'shop_orders'はカスタムの投稿タイプであり、注文が属する顧客は' _customer_user'キーのpostメタとして保存されます。 –

+0

本当に素晴らしい提案。より多くのWooCommerce CPT情報はどこにありますか?私はさらなる開発にそれを必要とするかもしれません。 – Raptor

+0

CPTはWordPressの機能です。https://codex.wordpress.org/Post_Types#Custom_Post_Types –

答えて

2

あなたが特定の顧客の注文を取得することができます:$user->IDは、ご注文を取得したい人のために、お客様のユーザーIDです

$customer_orders = get_posts(array(
    'numberposts' => -1, 
    'meta_key' => '_customer_user', 
    'meta_value' => $user->ID, 
    'post_type' => wc_get_order_types('view-orders'), 
    'post_status' => array_keys(wc_get_order_statuses()) 
)); 

これが役に立ちます。

関連する問題