ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
8 of 21 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Таблица wp_termmeta

Таблица wp_termmeta является стандартным механизмом WordPress для хранения дополнительной, произвольной информации, связанной с терминами (элементами таксономий). Аналогично тому, как postmeta расширяет записи, а usermeta расширяет пользователей, эта таблица позволяет добавлять к терминам любые необходимые поля и данные.

Поля

Поле Тип данных Описание
meta_id bigint(20) unsigned Уникальный идентификатор записи метаданных (первичный ключ с автоинкрементом).
term_id bigint(20) unsigned Идентификатор термина, к которому привязаны метаданные. Внешний ключ, ссылается на поле term_id в таблице wp_terms.
meta_key varchar(255) Ключ (название) метаполя. Например, color, image_url, seo_description.
meta_value longtext Значение метаполя, связанное с указанным ключом meta_key. Может хранить строки, сериализованные массивы или объекты.

Как это работает

Таблица wp_termmeta была введена в WordPress начиная с версии 4.4. Её появление стандартизировало процесс добавления произвольных полей к терминам (рубрикам, меткам, элементам пользовательских таксономий). До этого разработчикам приходилось использовать собственные таблицы или другие обходные пути.

Для работы с метаданными терминов WordPress предоставляет функции, аналогичные функциям для работы с метаданными записей и пользователей:

add_term_meta(), get_term_meta(), update_term_meta(), delete_term_meta().

Эти функции используются плагинами и темами для хранения самой разнообразной информации: изображений для категорий, цвета для тегов, SEO-заголовков и описаний, дополнительных текстовых полей и любой другой связанной с термином data.

Структура "ключ-значение" обеспечивает гибкость. Один термин может иметь множество записей в этой таблице с разными meta_key. Кроме того, для одного ключа можно хранить несколько значений, если указать соответствующий параметр при добавлении данных.

Пример SQL-запроса

Выбрать все метаданные для термина с ID равным 15:

SELECT meta_key, meta_value FROM wp_termmeta WHERE term_id = 15;

Найти все термины, у которых задано определенное метаполе (например, thumbnail_id):

SELECT t.name, tm.meta_value FROM wp_termmeta tm INNER JOIN wp_terms t ON tm.term_id = t.term_id WHERE tm.meta_key = 'thumbnail_id';

Смотрите также

  • таблицу wp_terms,
    которая хранит основные данные терминов
  • таблицу wp_term_taxonomy,
    которая определяет таксономию для терминов
  • таблицу wp_postmeta,
    которая хранит метаданные записей
  • таблицу wp_usermeta,
    которая хранит метаданные пользователей