Схема базы данных WordPress

Структура базы данных WordPress спроектирована быть минимальной, однако она дает бесконечную гибкость при разработке. По умолчанию БД WordPress состоит из 12 таблиц. WordPress использует несколько взаимосвязанных таблиц. Между ними установлены связи один ко многим. Например, к одного поста может быть много комментариев.

Каждая таблица в базе данных содержит поле ID, а также один или более индексов, что улучшает скорость возврата данных при выполнении запросов. Каждая итерация цикла WordPress гене­рирует один или несколько SQL запросов для выборки постов и относящихся к ним метаданных или комментариев.

Таблицы БД WordPress:

  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_termmeta
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_terms
  • wp_usermeta
  • wp_users

Schema Dababase WordPress

wp_commentmeta

Содержит дополнительную информацию, связанную с комментарием.

  • meta_id — ID записи
  • comment_id — ID комментария, к которому относятся данные. (ссылается на таблицу wp_comments)
  • meta_key — ID метаданных
  • meta_value — данные метаданных

wp_comments

Cодержит все комментарии связанные с постом по его ID. Дополнительная информация о комментарии может храниться wp_commentmeta.

  • comment_ID — ID записи
  • comment_post_ID — ID поста связанного с этим комментарием (ссылается на таблицу wp_posts)
  • comment_author — имя автора комментария
  • comment_author_email — email автора комментария
  • comment_author_url — URL автора комментария
  • comment_author_IP — IP адрес автора комментария
  • comment_date — время и дата публикация комментария
  • comment_date_gmt — GMT время и дата публикация комментария
  • comment_content — текст комментария
  • comment_karma — не используется ядром WordPress, но может быть использован плагинами для управления комментариями
  • comment_approved — одобрен ли комментарий
  • comment_agent — каким устройством был отправлен комментарий (браузер, операционная система и т. д.)
  • comment_type — тип комментария (comment, pingback или trackback)
  • comment_parent — ссылка на другой комментарий, если текущий комментарий является ответом
  • user_id — ID авторизированного пользователя/автора комментария (ссылается на таблицу wp_users)

wp_links

с WordPress 3.5 администрирование ссылок было удалено из пользовательского интерфейса администратора. Таблица остается в базе данных для обратной совместимости. Хотя эта функция устарела, но она может быть включена через плагин Links Manager.

  • link_id — ID записи
  • link_url — URL ссылки
  • link_name — название ссылки
  • link_image — URL изображения для ссылки
  • link_target — значение атрибута target для ссылки (_blank, _top, _none)
  • link_description — описание ссылки
  • link_visible — ссылка открыта или закрыта
  • link_owner — ID пользователя создавшего ссылку (ссылается на таблицу wp_users)
  • link_rating — рейтинг ссылки от 0 до 10
  • link_updated — время и дата создания ссылки
  • link_rel — отношение ссылки
  • link_notes — заметки о ссылки
  • link_rss — RSS адресс ссылки

wp_options

Таблица опций — это место, где хранится вся конфигурация сайта, включая данные о теме, активные плагины, виджеты и временно кэшированные данные, а также настройки плагинов и тем. Таблица представляет собой набор ключей/значений.

  • option_id — ID записи
  • option_name — имя ключа параметра
  • option_value — значение, то есть фактические данные параметра
  • autoload — нужно ли загружать опции при каждой загрузке страницы (используется функция wp_load_alloptions(), данные кэшируются).

wp_postmeta

В этой таблице содержится дополнительная информация об отдельных постах. Таблица представляет собой набор ключей/значений.

  • meta_id — ID записи
  • post_id — ID поста, к которому относятся данные. (ссылается на таблицу wp_posts)
  • meta_key — ключ метаданных
  • meta_value — значение метаданных

wp_posts

Содержит посты, страницы, элементы меню, медиафайлы, ревизии и любые типы пользовательских постов. Столбец post_type определяет тип хранимых данных.

  • ID — ID записи
  • post_author — ID пользователя создавшего пост (ссылается на таблицу wp_users)
  • post_date — время и дата создания
  • post_date_gmt — GMT время и дата создания (снимает зависимость от временной зоны)
  • post_content — хранит весь контент поста, включая HTML, шорткоды и другой контент
  • post_title — заголовок поста
  • post_excerpt — кастомное короткое описание поста
  • post_status — статус поста (draft, pending, private, publish)
  • comment_status — разрешенно ли комментирование
  • ping_status — разрешенны ли пингбэки или трэкбэки
  • post_password — необъязательный пароль для просмотра поста
  • post_name — пермалинк
  • to_ping — список URL WordPress которым следует отправлять пингбэки при обновлении
  • pinged — список URL WordPress которым уже отправленны pingbacks при обновлении
  • post_modified — время и дата последнего изменения поста
  • post_modified_gmt — GMT время и дата последнего изменения поста
  • post_content_filtered — используется плагинами для кэширования версии post_content (обычно передаётся через фильтр the_content). Не используется ядром WordPress
  • post_parent — используется для создания связи между текущим постом и другим (родительским), когда этот пост является ревизией, медиафайлом или чем-то подобным
  • guid — постоянный ID поста, а не версия пермалинка
  • menu_order — номер для упорядочивания иерахических типов постов, например страниц
  • post_type — идентификатор типа поста
  • post_mime_type — MIME тип загруженного файла (используется только для медиафайлов)
  • comment_count — общее количество комментариев, пингбэков и трэкбэков

wp_termmeta

Содержит дополнительную информацию, связаннуя с термином таксономии. Таблица представляет собой набор ключей/значений.

  • meta_id — ID записи
  • term_id — ID термина таксономии (ссылается на таблицу wp_terms)
  • meta_key — ключ метаданных
  • meta_value — значение метаданных

wp_term_relationships

Соединяет элементы таксономии с постом, создавая таблицу соответствия. Каждая строка таблицы определяет связь между постом (object) в wp_posts и термином определенной таксономии в wp_term_taxonomy.

  • object_id — ID объекта поста (ссылается на таблицу wp_posts)
  • term_taxonomy_id — ID термина таксономии (ссылается на таблицу wp_term_taxonomy)
  • term_order — определяет порядок терминов таксономии для постов

wp_term_taxonomy

Определяет таксономию для термина. Эта таблица позволяет иметь категории и метки с одинаковыми на­званиями, помещая их в разные таксономии.

  • term_taxonomy_id — ID записи
  • term_id — ID связанного термина (ссылается на таблицу wp_terms)
  • taxonomy — превдоним таксономии
  • description — описание термина в этой таксономии
  • parent — ID родительского термина. Используется для иерархических таксономий, например для категорий
  • count — число объектов постов, которым присвоен данный термин таксономии

wp_terms

Содержит термины таксономии, соединяя их имена с идентификаторами, которые могут быть ис­пользованы как индексы в других таблицах.

  • term_id — ID записи
  • name — имя термина
  • slug — превдоним URL
  • term_group — делает возможным для плагинов и тем групировать термины. Не используется ядром WordPress

wp_usermeta

Содержит метаданные пользователей, например имя/фамилия, псевдоним, уровень пользователя и другие. Таблица представляет собой набор ключей/значений.

  • umeta_id — ID записи
  • user_id — ID пользователя (ссылается на таблицу wp_users)
  • meta_key — ключ метаданных
  • meta_value — значение метаданных

wp_users

Содержит всех пользователей сайта.

  • ID — ID записи
  • user_login — уникальное имя пользователя
  • user_pass — захешированный пароль пользователя
  • user_nicename — никнэйм пользователя
  • user_email — email пользователя
  • user_url — URL сайта пользователя
  • user_registered — время и дата регистрации пользователя
  • user_activation_key — используется для сброса пароля
  • user_status — использовался в Multisite для обозначения спам пользователя
  • display_name — определяет отображаемое имя пользователя на сайте
Отправить

Похожие посты


Владимир Камуз

Фрилансер Full Stack WordPress разработчик из Украины. Работаю в основном на международной бирже фриланса Upwork.

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

Email рассылка

Еженедельный дайджест последних добавленных обучающих материалов. Подпишитесь на Email рассылку, чтобы не пропустить полезную информацию о фрилансе на Upwork и веб-разработке.