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

时间:2018-12-02 08:25:37

标签: php wordpress woocommerce product custom-taxonomy

在Woocommerce中,我试图更改插件文件Retailcrm для wordpress/woocommerceGithub中的(添加一些),尤其是允许我添加名称的部分产品的自定义分类标准 (与制造商有关)到xml。

问题是我的代码有问题,我无法获得分类法的名称。

这是php文件的原始部分:

const downloadURL = await getImgFromServer("image name")

我有一个分类法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),
            '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' );
        $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' );

如插件开发人员所建议,但是在这种情况下,在xml中,我们将在 'vendor'=> $vendor->name, 中看到产品名称

如何正确获取此分类法的名称?

1 个答案:

答案 0 :(得分:2)

已更新:

因为它是产品属性 (以“ pa_开头”),所以您只需在代码数组中使用WC_Product方法get_attribute() ,这将为您提供术语名称:

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