Как в WooCommerce получить значение одного конкретного атрибута продукта

Woocommerce имеет функцию отображения всех атрибутов (свойств) продукта — list_attributes(), но что если нам надо получить значение какого-нибудь одного свойства, и к тому же вывести его на странице, не связанной с вукоммерц.

Когда мы создаем произвольный атрибут товара в WooCommerce, он регистрируется как произвольная таксономия (custom taxonomy). Поэтому мы можем использовать функцию WordPress get_the_terms для извлечения его значения.

При регистрации такой таксономии WooCommerce добавляет префикс pa_ к названию нашего атрибута.

Таким образом мы должны посмотреть поле Слаг (slug) нужного свойства. Это смотрим в разделе Товары — Атрибуты. Например, мы создали у продукта свойство Год и слаг у него — god. Тогда woocommerce присвоит таксономии имя ‘pa_god’.

Чтобы получить все значения этого атрибута для заданного продукта воспользуйтесь следующим кодом.

Здесь $product->id это id записи продукта.

Оцените статью
Делаем сайт своими руками
Комментарии: 3
  1. Петр

    Добрый день. Сделал по вашему примеру:
    id, ‘pa_manufacture’);?>
    Производитель: name;
    }
    ?>
    Но как сделать, чтоб при пустом производителе н7и чего не выводилось?

    Ответить
    1. Ложников Андрей (автор)

      Петр, ваш код неправильно вывелся, поэтому непонятно, что там. А что сейчас выводится, когда производитель пусто? Например, можно сделать проверку и если полученный производитель содержит пустое значение (только что это за значение: 0 или пустая строка — »), то его не отображать.

      Ответить
  2. Тимур

    Когда значение установлено, но пустое, или не установлено, выдаёт ошибку. Эту функцию нужно проверять в условии:
    if ($values):
    // действия
    endif;

    Ответить
Добавить комментарии