我创建插件并希望从woocommerce获得品牌名称。 在第一时间我发布产品1号插件工作,并按照我的意愿获得产品品牌,但是当我创建第2号产品和第3号品牌产品时,从第1号产品获得
怎么了?
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 :(得分: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动态调整条款并相应地获取品牌。如果您需要更多帮助,请告诉我。
由于
答案 1 :(得分:0)
如果您想从产品中获取条款,请尝试以下方法:
$terms = wp_get_post_terms( $product_id, 'brand', array('orderby'=>'name'));
//you could use: var_dump($terms); to see what it is.
如果您想要连结品牌名称,可以这样做:
$term_names = wp_get_post_terms( $product_id, 'brand', array('orderby'=>'name', 'fields' => 'names'));
$term_names = implode(' ', $term_names);
echo $term_names;
答案 2 :(得分:0)
更新的代码:
foreach ( $brands as $key => $brand ) :
echo "<strong>STOCK ".$brand->name." ".$kode."</strong><br/>";
endforeach;
echo
必须位于foreach
循环内。
答案 3 :(得分:0)
应该使用“ pa_brand”代替分类法“品牌”。
$term_names = wp_get_post_terms( $product_id, 'pa_brand', array('orderby'=>'name', 'fields' => 'names'));