Как получить название термина таксономии в Woocommerce? - PullRequest
0 голосов
/ 02 декабря 2018

В 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>.

Как правильно получить название этой таксономии?

1 Ответ

0 голосов
/ 03 декабря 2018

Обновлено:

Поскольку это атрибут продукта (начиная с "pa_") , вы можете просто использовать вкод массива метода WC_Product get_attribute(), который даст вам имя термина:

'vendor'=> $product->get_attribute( 'pa_proizvoditel' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...