繁体   English   中英

如何在Woocommerce中获得自定义分类法的后期名称

[英]How to get the post term name of a custom taxonomy in Woocommerce

在Woocommerce中,我试图更改(添加一些)插件文件Retailcrm中wordpress / woocommerceGithub,尤其是允许我将产品 (与制造商相关) 的自定义分类法名称添加到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>看到产品名称

如何正确获得该分类法的名称?

更新:

由于它是产品属性 (以“ pa_ ”) ,因此您可以在代码数组中简单地使用WC_Product方法get_attribute() ,这将为您提供术语名称:

'vendor'=> $product->get_attribute( 'pa_proizvoditel' );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM