如何在 Woocommerce 中获取自定义分类法的 post 术语名称
How to get the post term name of a custom taxonomy in Woocommerce
在 Woocommerce 中,我正在尝试更改 (添加一些) 插件文件 Retailcrm для wordpress/woocommerce, Github 尤其是允许我 添加的部分产品的自定义分类名称 (与制造商相关) 到 xml.
问题是我的代码有问题,我无法获取分类法的名称。
这是 php 文件的原始部分:
$product_data = array(
'id' => $product->get_id(),
'productId' => ($this->get_parent_product($product) > 0) ? $parent->get_id() : $product->get_id(),
'name' => $product->get_name(),
'productName' => ($this->get_parent_product($product) > 0) ? $parent->get_title() : $product->get_title(),
'price' => $this->get_price_with_tax($product),
'purchasePrice'=> WC_COG_Product::get_cost($product),
'picture' => $image[0],
'url' => ($this->get_parent_product($product) > 0) ? $parent->get_permalink() : $product->get_permalink(),
'quantity' => is_null($product->get_stock_quantity()) ? 0 : $product->get_stock_quantity(),
'categoryId' => $term_list,
'dimension' => $dimension,
'weight' => $weight,
'tax' => isset($tax) ? $tax['rate'] : 'none'
);
我有一个分类 pa_proizvoditel,这是产品的一个属性。
我的猜测是这样做:
$vendor = get_term( $product, 'pa_proizvoditel' );
$product_data = array(
'id' => $product->get_id(),
'productId' => ($this->get_parent_product($product) > 0) ? $parent->get_id() : $product->get_id(),
'name' => $product->get_name(),
'productName' => ($this->get_parent_product($product) > 0) ? $parent->get_title() : $product->get_title(),
'price' => $this->get_price_with_tax($product),
'purchasePrice'=> WC_COG_Product::get_cost($product),
'vendor'=> $vendor->name,
'picture' => $image[0],
'url' => ($this->get_parent_product($product) > 0) ? $parent->get_permalink() : $product->get_permalink(),
'quantity' => is_null($product->get_stock_quantity()) ? 0 : $product->get_stock_quantity(),
'categoryId' => $term_list,
'dimension' => $dimension,
'weight' => $weight,
'tax' => isset($tax) ? $tax['rate'] : 'none'
);
即添加:
$vendor = get_term( $product, 'pa_proizvoditel' );
和
'vendor'=> $vendor->name,
正如插件开发者所建议的,但在这种情况下 xml 我们将在 <vendor>
[= 中看到 产品名称 42=].
如何正确获取该分类法的名称?
已更新:
因为它是产品属性 (以“pa_
”开头),你可以简单地在你的代码数组中使用WC_Product 方法 get_attribute()
,将为您提供术语名称:
'vendor'=> $product->get_attribute( 'pa_proizvoditel' );
在 Woocommerce 中,我正在尝试更改 (添加一些) 插件文件 Retailcrm для wordpress/woocommerce, Github 尤其是允许我 添加的部分产品的自定义分类名称 (与制造商相关) 到 xml.
问题是我的代码有问题,我无法获取分类法的名称。
这是 php 文件的原始部分:
$product_data = array(
'id' => $product->get_id(),
'productId' => ($this->get_parent_product($product) > 0) ? $parent->get_id() : $product->get_id(),
'name' => $product->get_name(),
'productName' => ($this->get_parent_product($product) > 0) ? $parent->get_title() : $product->get_title(),
'price' => $this->get_price_with_tax($product),
'purchasePrice'=> WC_COG_Product::get_cost($product),
'picture' => $image[0],
'url' => ($this->get_parent_product($product) > 0) ? $parent->get_permalink() : $product->get_permalink(),
'quantity' => is_null($product->get_stock_quantity()) ? 0 : $product->get_stock_quantity(),
'categoryId' => $term_list,
'dimension' => $dimension,
'weight' => $weight,
'tax' => isset($tax) ? $tax['rate'] : 'none'
);
我有一个分类 pa_proizvoditel,这是产品的一个属性。
我的猜测是这样做:
$vendor = get_term( $product, 'pa_proizvoditel' );
$product_data = array(
'id' => $product->get_id(),
'productId' => ($this->get_parent_product($product) > 0) ? $parent->get_id() : $product->get_id(),
'name' => $product->get_name(),
'productName' => ($this->get_parent_product($product) > 0) ? $parent->get_title() : $product->get_title(),
'price' => $this->get_price_with_tax($product),
'purchasePrice'=> WC_COG_Product::get_cost($product),
'vendor'=> $vendor->name,
'picture' => $image[0],
'url' => ($this->get_parent_product($product) > 0) ? $parent->get_permalink() : $product->get_permalink(),
'quantity' => is_null($product->get_stock_quantity()) ? 0 : $product->get_stock_quantity(),
'categoryId' => $term_list,
'dimension' => $dimension,
'weight' => $weight,
'tax' => isset($tax) ? $tax['rate'] : 'none'
);
即添加:
$vendor = get_term( $product, 'pa_proizvoditel' );
和
'vendor'=> $vendor->name,
正如插件开发者所建议的,但在这种情况下 xml 我们将在 <vendor>
[= 中看到 产品名称 42=].
如何正确获取该分类法的名称?
已更新:
因为它是产品属性 (以“pa_
”开头),你可以简单地在你的代码数组中使用WC_Product 方法 get_attribute()
,将为您提供术语名称:
'vendor'=> $product->get_attribute( 'pa_proizvoditel' );