如何在WooCommerce中获得产品的品牌名称

时间:2019-05-23 13:45:57

标签: php wordpress woocommerce custom-taxonomy taxonomy-terms

我需要获得产品的品牌名称,我有此代码

$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(); ---> ???

我有这个属性,但是我不知道如何抓住品牌名称,还有另一种方法吗?

enter image description here

谢谢!

4 个答案:

答案 0 :(得分:2)

您将使用产品ID中的wc_get_post_terms(),并且根据所使用的插件,分类将有所不同:

  • product_brand for Woocommerce Brands插件
  • yith_product_brand for YITH WooCommerce Brands插件
  • pa_brand用于自定义产品属性

例如,使用Woocommerce Brands插件,您将使用:

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

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

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

相关:

答案 1 :(得分:1)

使用get_the_terms

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

答案 2 :(得分:0)

感谢您的帮助,我使用了这段代码,它可以正常工作。

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

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

答案 3 :(得分:0)

如果您使用 Woocommerce Brands 插件:https://docs.woocommerce.com/document/woocommerce-brands/

您可以使用下一个功能:

echo get_brands();

该插件包含一个获取品牌的函数,下一行在下一个插件文件和目录 woocommerce-brands/includes/wc-brands-functions/line-64 到 81 中声明

function get_brands( $post_id = 0, $sep = ', ', $before = '', $after = '' ) {
    global $post;

    if ( ! $post_id ) {
        $post_id = $post->ID;
    }

    return get_the_term_list( $post_id, 'product_brand', $before, $sep, $after );
}