С версии 4.4 в WordPress появилась возможность хранить метаданные терминов таксономий. Если сказать что этого ждали долго — ничего не сказать 🙂

Зачем это нужно?

Давайте представим такие ситуации из нашей реальной практики:

  1. Например нам нужно хранить картинки для категорий продуктов в магазине. Ранее для этого приходилось писать костыли.
  2. Или мы пишем интеграцию МойСклад и WordPress. Нам нужно сохранть в категории продуктов WooCommerce уникальный идентификатор группы товаров из МойСклад. Теперь это сделать очень просто!

Разберем примеры кода и задач

Выведем поля на странице формы редактирования термина таксономии

Эта возможность была и ранее, через хук:

{taxonomy}_edit_form_fields

Пример кода: https://gist.github.com/yumashev/961e2a70240aa976cd5b

Это взято из реального примера сохранения uuid для таксономии product_cat в WooCommerce

Сохраним значение поля через форму

Пример кода: https://gist.github.com/yumashev/c9e9634136869592f744

Тут применяется хук

edit_{taxonomy} и вместо {taxonomy} можно подставить код любой таксономии, например category — для рубрик

 

Как получить ID термина по значению метаполя?

Вот эта задача не простая. Я не люблю использовать SQL. Но тут иначе никак.

Пример кода: https://gist.github.com/yumashev/c4a4dab58f1688fc50c3