How to get the brand name of product in WooCommerce

坚强是说给别人听的谎言 提交于 2020-07-18 08:32:26

问题


i need get the brand name of product , i have this code

$product = wc_get_product();

  $type = $product->get_type();      
  $name = (string)$product->get_name();
  $id = (int)$product->get_id(); 
  $sku  = (int)$product->get_sku(); 
  $precio = (int)$product->get_price();

$brand_name = $product->get_brand(); ---> ???

i get this attributes but i don't know how catch the brand name, is there another way ?

Thanks!


回答1:


Use get_the_terms

get_the_terms($product->get_id(),'pa_brand') 



回答2:


Is better to use wc_get_post_terms() from a product ID (that allows to get term names instead of WP_Term Objects) and depending on what plugin you are using, the taxonomy will be different:

  • product_brand for Woocommerce Brands plugin
  • yith_product_brand for YITH WooCommerce Brands plugin
  • pa_brand for a custom product attribute

So for example with Woocommerce Brands plugin you will use:

$product_id  = get_the_id();
$product     = wc_get_product( $product_id );

$taxonomy    = `product_brand`;
$brand_names = wp_get_post_terms( $product_id, $taxonomy, array( 'fields' => 'names' ) );

// Get the brand name
$brand_name = reset( $brand_names );

Related:

  • Display category and brand name on single product page
  • Display Product Brand and Name in Woocommerce Orders and email notifications
  • Adding Woocommerce Brands names to cart item product names



回答3:


Thanks for the help , I used this code and it works.

$terms = get_the_terms( get_the_ID(), 'product_brand' );

foreach ( $terms as $term ){
    if ( $term->parent == 0 ) {
        $brand_name=  $term->slug;
    }
}  
echo $brand_name;


来源:https://stackoverflow.com/questions/56276674/how-to-get-the-brand-name-of-product-in-woocommerce

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!