Параметры терма в WordPress

  • 04.06.15
  • 15:13
  • 728
  • 0

Большинство параметров термов хранится в БД — они всегда присутствуют в объекте терма. Некоторые параметры добавляются функциями и в БД отсутствуют (на момент WordPress 4.2.2 таких параметров два — filter и object_id).

Поля объекта терма имеют следующее значение:

  • term_id — идентификатор терма;
  • term_taxonomy_id — идентификатор отношения «терм-таксономия»;

    Применяется, напр., при привязке термов к постам.

  • name — имя терма, должно быть уникальным в рамках того уровня иерархии, на котором расположен терм;
  • slug — ярлык терма, уникален в рамках таксономии;
  • description — описание терма;
  • term_group — группа термов-псевдонимов;

    Обычно термы в группах не состоят и содержат в данном поле 0. Состоящие в группе термы считаются псевдонимами друг друга и обозначают один и тот же смысл. Реализация этой концепции полностью лежит на плагинах: кроме объединения в группы и сортировки по ним никаких работ с псевдонимами WordPress не проводит.

    За добавление терма в группу отвечает параметр 'alias_of' у функции wp_insert_term и параметры 'alias_of' и 'term_group' у функции wp_update_term (см. кодекс).

  • taxonomy — таксономия, к которой относится терм;
  • parent — идентификатор родительского терма;

    Используется для иерархичных таксономий. В неиерархичных таксономиях и у корневых термов поле parent содержит 0.

  • count — количество постов, связанных с данным термом;
  • filter — тип обработки (санации) полей терма;

    Поле добавляется функцией sanitize_term, в таблицах БД отсутствует. Значения может иметь следующие:

    • raw — строковые поля не санируются, целочисленные преобразуются в неотрицательное целое;
    • edit — санация для редактирования;
    • db — для использования в запросах к БД;
    • rss — для применения в RSS;
    • display — для отображения;
    • attribute — для использования полей в качестве атрибутов html-тегов;
    • js — для использования полей в качестве атрибутов со встраиваемым js-скриптом (напр. onclick).

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

    • get_term, get_term_by — санируют терм, тип санации задаётся в последнем аргументе, значение по умолчанию — 'raw';
    • get_term_to_edit — возвращает терм, санированный для редактирования — тип 'edit';
    • wp_get_object_terms и использующие её get_the_terms, wp_get_post_terms — выполняют санацию типа 'raw';
    • get_terms термы не санирует — возвращённые ей объекты термов не содержат поля filter, при необходимости санация проводится вручную.
  • object_id — идентификатор поста, к которому привязан терм;

    Поле добавляется функцией wp_get_object_terms при вызове с аргументом 'fields' => 'all_with_object_id', в БД отсутствует.

Полезные ссылки

Замечание: на момент последней редакции этой заметки текущей версией WordPress была 4.2.2.

Оставить комментарий

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