2017-09-14 8 views
1

私はプラグインを作成し、woocomerceからブランド名を取得します。 最初に製品No.1のプラグインを作って、私が望むようにプロダクトブランドを手に入れます。ブランド名からプロダクトポストNo.2とNo.3を作成すると、製品番号1PHP Woocomerce製品名を取得

whats wrong?

if (class_exists('WooCommerce')) { 
     $kode = $product->get_sku(); 
     $terms = wp_get_post_terms($product_id, 'brand', array('orderby'=>'name')); 

     $brands = get_terms('brand', array(
     'orderby'  => 'name' 
     //,'product__in' => $product->id 
     // orderby arguments ('name', 'slug','term_group', 'term_id', 'id', 'description') 
     )); 

     foreach ($brands as $key => $brand) : 
      $brand_name = $brand->name; 
     endforeach; 

     $merk = $brand_name; 

     //this i want to print the brand name 
     echo "<strong>STOCK ".$merk." ".$kode."</strong><br/>"; 


    } else { 
     echo "please active your WooCommerce plugin."; 
    } 

お願いします。

+0

私たちはあなたが何をしているのかを見ることができます。 '$ brand_name'は' brands'の最後の値に設定されます。 – GeorgeQ

+0

私はコードを編集しています。 –

答えて

2

これはうまくいくはずです。

if (class_exists('WooCommerce')) { 
     $kode = $product->get_sku(); 

     $tax = array(
     'STOCK'=>'brand', 
     ); 

     foreach ($tax as $mk_label => $mk_value) { 
      $make_array = wp_get_post_terms(get_the_ID(), $mk_value, array("fields" => "names")); 
      foreach ($make_array as $value) { 
       $mk .= $value.", "; 
      } 
      echo '<strong>'.$mk_label.' <a href="javascript:void(0)">'.rtrim($mk,", ").' '.$kode.'</a></strong>'; 
      $mk =""; 
     } 


    } else { 
     echo "please active your WooCommerce plugin."; 
    } 

私たちは現在の製品IDに基づいて動的に用語を取り、それに応じてブランドを取得します。それ以上の助けが必要な場合は教えてください。

ありがとうございました

+0

ハワイ、ありがとうマスタービラルフセイン、それは仕事です.... –

+0

快楽はすべて私のものです;) –

0

あなたが製品から用語を取得したい場合は、この試してみてください:

$term_names = wp_get_post_terms($product_id, 'brand', array('orderby'=>'name', 'fields' => 'names')); 
$term_names = implode(' ', $term_names); 
echo $term_names; 
+0

が動作していないことを確認してください。値は配列です、 –

+0

@Hengky STはvar_dump($ terms)を使って表示しています。 – chen

+0

私は空白にしました –

0

更新コード:

$terms = wp_get_post_terms($product_id, 'brand', array('orderby'=>'name')); 
//you could use: var_dump($terms); to see what it is. 

を、あなたのブランド名をCONCATしたい場合は、これを行うことができます

foreach ($brands as $key => $brand) : 
    echo "<strong>STOCK ".$brand->name." ".$kode."</strong><br/>"; 
endforeach; 

echoは、foreachループ内になければなりません。

+0

まだ空白です:(。 –

関連する問題