2017-09-14 164 views
1

我創建插件並希望從woocomerce獲得品牌名稱。 在第一次發佈產品1號插件它的工作和獲得產品品牌,但我希望當我創建產品發佈2號和3號從品牌名稱從產品1號得到PHP Woocomerce獲得產品品牌名稱

最新錯了?

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."; 
    } 

請幫忙,謝謝。如果你想Concat的品牌名稱

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

,你可以這樣做:

+0

你能發佈更多的代碼,所以我們可以看到你在做什麼。 'brand_name'將被設置爲'品牌'中的最後一個值。 – 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

海,謝謝大師Bilal Hussain,它的工作.... –

+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

更新代碼:

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

echo必須在foreach循環內。

+0

仍然空白:(。 –