2016-04-15 26 views
0

私がしたいことは、すべての製品を取得するためにforeachループを作成し、それらの製品からカテゴリIDを取得することです。これは後で特定のカテゴリをチェックすることができます。いくつかのコメントの後WooCommerceのカテゴリ別製品を取得する

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

foreach ($items as $item) { 
    $product_catagory_id .= $item['catagory_id']; //in between these brackets I need a value that gives me the catagory id. 
} 

//Some validation here if one of the catagorie_id's was found. 
//I can build this. It's not part of the question 

私が本鎖てるところ、これは次のようになります。

$order = new WC_Order($order_id); 
$items = $order->get_items(); 
foreach ($items as $item) { 
    $product_id = $item['product_id']; 
    var_dump($product_id); 
    $terms = get_the_term_list($product_id, 'term_id'); 
    var_dump($terms); 
} 

これは、次のような結果になります。だから、プロダクトIDが完全に読み込まれ

string(2) "79" 
object(WP_Error)#9148 (2) { 
    ["errors"]=> 
     array(1) { 
     ["invalid_taxonomy"]=> 
      array(1) { 
       [0]=> 
       string(19) "Ongeldige taxonomie" //invalid taxonomy 
      } 
     } 
    ["error_data"]=> 
    array(0) { 
    } 
} 

、私が働くことができますそのカテゴリは適切に返されません。

+1

put 'var_dump($ item);あなたのループで私たちに結果を教えてください。 – Unex

+0

それは動作しないようです。コンソールに不正なJSONを修正できません。 –

+0

私の悪いことに、終了を取り除き、出力結果を記録してくれました。悲しいことに、カテゴリーIDまたはカタログIDに関連するものはありません –

答えて

1

は当然のカテゴリIDを取得する方法を分析することvar_dump($terms);を試してみてください

$terms = get_the_terms ($product_id, 'product_cat'); 
foreach ($terms as $term) { 
    $cat_id = $term->id; 
} 

を試してみてください。

これが役に立ちます。

+0

'$ term-> id'を' $ tem-> term_id'に編集すると、カテゴリーIDのintが得られます。 var_dump()は 'int(x)'を返します。ここでxはIDです –

関連する問題