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

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

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

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

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

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

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

Оцените статью

    Нужна доработка сайта?

    Напишите, что нужно сделать. В рабочее время отвечу в течение 30 минут.




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

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

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

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

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

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

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