我需要获得产品的品牌名称,我有此代码
$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(); ---> ???
我有这个属性,但是我不知道如何抓住品牌名称,还有另一种方法吗?
谢谢!
答案 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 );
}