WordPress база данных – База данных WordPress сайта | IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Содержание

База данных WordPress

Приветствую своих читателей в новом году, пора приступать к работе! Рано или поздно вебмастеру пригодятся технические знания об устройстве WordPress, из каких файлов состоит тема и для каких функций они предназначены, как организована структура базы данных.

База данных WordPress

Сегодня моя новая статья будет посвящена базе данных MySQL, которая является неотъемлемой частью платформы WordPress. Поскольку WordPress самостоятельно взаимодействует с базой данных, то обычные пользователи не должны сильно волноваться о её структуре. Однако, вам может быть интересно узнать, как WordPress хранит свои данные и зависимости, если пишете свой плагин.

Мысль написать статью на эту тему меня посетила отнюдь не случайно. В один прекрасный день на одной из страниц был оставлен полезный развёрнутый комментарий, не имеющий абсолютно никакого отношения к её содержанию, но запись с подходящей для обсуждения темой на блоге имелась.

Внимание! Любое изменение базы данных может привести к необратимым последствиям и нарушению работы сайта. Все действия выполняются на свой страх и риск. Обязательно делайте резервное копирование!

Поэтому я решил исправить ситуацию и перенести комментарий на другую релевантную страницу 😉 В базе данных в таблице wp_comments я нашёл этот комментарий и отредактировал строку таблицы, изменив значение поля comment_post_ID. Просто сменил ID записи к которой был отправлен комментарий на ID другой записи. После сохранения изменений в базе данных комментарий был успешно перенесён на другую страницу.

Таблицы, из которых состоит база данных WordPress

Сразу после установки WordPress база данных содержит таблицы, имена которых начинаются с префикса. При установке CMS появляется возможность задать свой префикс — это рекомендуется в целях повышения безопасности сайта.

Таблицы базы данных WordPress

Стандартный префикс wp_ при установке WordPress допускается не изменять. Если планируете создавать несколько сайтов с использованием одной общей базой данных, то обязательно для каждой установки задавайте разный префикс для таблиц 💡

  1. wp_commentmeta
  2. wp_comments
  3. wp_links
  4. wp_options
  5. wp_postmeta
  6. wp_posts
  7. wp_termmeta
  8. wp_terms
  9. wp_term_relationships
  10. wp_term_taxonomy
  11. wp_usermeta
  12. wp_users

Обратите внимание, если ваши таблицы не совпадают с моим списком, их больше или, наоборот, меньше, то причиной может оказаться несколько вариантов:

  • Установлена другая версия WordPress. На момент последнего редактирования текущей статьи актуальной версией является 5.0. Настоятельно рекомендую своевременно обновлять CMS.
  • Установлены плагины, которые создали в базе данных свои таблицы. Плагины также меняют содержимое таблиц, добавляя новые поля, строки и т.д.
  • В процессе установки WordPress был изменён стандартный префикс таблиц.

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

Описание и предназначение таблиц базы данных

Работая с базой данных в целях администрирования я использую панель phpMyAdmin. На вашем хостинге или сервере может быть установлено другое программное обеспечение.

phpMyAdmin

Таблица wp_commentmeta

Каждый комментарий, оставленный на сайте, содержит метаданные — эта информация хранится в этой таблице. Например, если установлен плагин Akismet для защиты от спама, то он будет записывать в неё свои данные: одобрен комментарий или нет, имеется ли пометка о спаме.

Таблица wp_commentmeta

Таблица wp_comments

Название этой таблицы говорит само за себя — здесь хранятся оставленные к записям комментарии. Именно в этой таблице я переносил комментарий с одной страницы на другую, о чём писал в начале статьи.

Таблица wp_comments

Помимо текста комментария в таблице хранится дополнительная информация, включая имя, электронную почту и сайт автора, IP-адрес с которого бы отправлен комментарий, дату, время и многое другое.

Таблица wp_links

Эта таблица раньше хранила ссылки блогролла на Кодекс, wordpress.org и другие ресурсы. На блоге у меня были удалены все ссылки из консоли, поэтому на скриншоте ниже есть надпись «Ссылок не найдено», а таблица пуста.

Таблица wp_links

Теперь эта функция устарела, но при необходимости её можно включить с помощью плагина Links Manager.

Таблица wp_options

Хранит основные настройки WordPress, в том числе параметры, доступные для изменения в консоли администрирования. Кстати, таблица wp_options очень интересна для изучения, но зачастую после установки и последующего удаления плагинов содержит лишние строки. У меня есть отличное руководство по чистке базы данных от «мусора».

Таблица wp_options

Таблица wp_postmeta

Хранит огромное количество данных о записях и страницах сайта: информацию о прикреплённых файлах (изображения, документы, видео), данные заполняемых полей при создании или редактировании записей. Некоторые плагины могут добавлять свою собственную информацию в эту таблицу. Например, плагин All in One SEO Pack хранит здесь Title, Description и Keywords.

Таблица wp_postmeta

Таблица wp_posts

Самое ценное — контент — сосредоточено в таблице wp_posts. В ней хранятся сведения об авторе статьи, дата и время публикации, дата и время последнего изменения, непосредственно тексты, статус записи (опубликовано, черновик, на утверждении) и ещё очень много информации.

Таблица wp_posts

Таблица wp_termmeta

Каждый термин (категории, метки и термины пользовательских таксономий) содержит информацию, называемую метаданными, и хранится в этой таблице. Скриншот не прилагаю, так как у меня эта таблица оказалась пустой. Метки и пользовательские таксономии при этом не использую.

Таблица wp_terms

Таблица содержит категории, метки и термины пользовательских таксономий.

Таблица wp_terms

Таблица wp_term_relationships

Сообщения связаны с категориями и метками из таблицы wp_terms и эта связь здесь поддерживается. Ассоциация ссылок на соответствующие категории также хранится в этой таблице.

Таблица wp_term_relationships

Таблица wp_term_taxonomy

В этой таблице описаны таксономии (категории, теги) для записей в таблице wp_terms. Устанавливается очередность и вложенность категорий, которые могут быть родительскими и дочерними, вот таблица wp_term_taxonomy и отслеживает иерархию между ними.

Таблица wp_term_taxonomy

Таблица wp_usermeta

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

Таблица wp_usermeta

Таблица wp_users

И, наконец, на очереди последняя таблица — wp_users. Она содержит список зарегистрированных пользователей, их логин и пароль в зашифрованном виде, e-mail адрес, дату регистрации и другие сведения.

Таблица wp_users

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

Понимание и работа с данными в WordPress. Часть 1. Введение / Habr


Данная статья является переводом первой статьи Rachel McCollin из цикла о данных в WordPress. В ней по полочкам разложена структура данных, типы контента и их взаимосвязь в WordPress. Будет полезна в первую очередь новичкам, но и профессионалы могут найти для себя что-либо новое.
Замечание от переводчикаВ переводе используется терминология согласно кодексу WordPress
  • Post — запись,
  • Page — страница,
  • Attachment — вложение,
  • Revision — редакция,
  • Comment — комментарий,
  • Taxonomy — таксономия,
  • Category — категория
  • Tag — метка,
  • Term — термин (конкретное значение пользовательской таксономии)
  • User — пользователь
  • Metadata — метаданные

Исключение составляет лишь термин content. В большинстве случаев используется не перевод «содержимое», а — «контент». Я считаю, данный перевод является более корректным по тексту.
В некоторых случаях в скобках приводится расшифровка на английском для однозначного понимания.

Замечания об ошибках и опечатках прошу сообщать в личку.

Сайт на WordPress состоит из трех основных элементов:

  • Сама установка WordPress
  • Содержимое каталога wp-content, которое включает темы, плагины и загрузками
  • База данных, где хранится контент в виде данных.

Большинство пользователей WordPress никогда не работают с базой данных напрямую. Они могут быть даже не в курсе, что она постоянно работает, чтобы обеспечить работу их сайт. Когда WordPress показывает любую страницу, то он соединяется к базой данных, чтобы показать контент, который добавили авторы на сайт.

В этой серии статей будет детально рассмотрены аспекты базы данных WordPress. Эта серия состоит из девяти частей:

  1. Вступление (сейчас вы читаете именно его)
  2. Взаимосвязи между данными
  3. Типы контента
  4. Пользовательские данные
  5. Метаданные
  6. Таксономии, категории, метки и термины
  7. Таксономии VS метаданные
  8. Таблица опций
  9. Данные WordPress Multisite

В этом статье рассматриваются таблицы базы данных и как они относятся с типами контента. Данные типы контента используются для работы в WordPress и определяют что, как и где должно храниться.

Типы контента в WordPress


Прежде чем разбирать данные хранящиеся в базе WordPress, рассмотрим типы контента. Существуют такие стандартные типы контента:
  • Записи (posts)
  • Страницы (pages)
  • Пользовательские типы записей (custom post types)
  • Вложения (attachments)
  • Ссылки (links)
  • Элементы меню (navigation menu items)

Эти типы контента имеют такие данные:
  • Категории (categories)
  • Метки (tags)
  • Пользовательские таксономии (custom taxonomies and terms)
  • Метаданные (post metadata)

Кроме того существует типы контента, хранящиеся в ином виде:
  • Виджеты (widgets)
  • Опции (options)
  • Пользователи (users)
  • Сайты для MU WordPress
  • Нестандартный контент (hardcoded content), который добавляют некоторые темы/плагины.
  • Сторонний контент (third party content) (например RSS)

Все эти типы контента хранятся в таблицах базы данных или в файлах настроек тем/плагинов. Каждый тип может быть представлен как отдельной записью в таблице, так и её частью. Кроме, того они могут быть связаны с данными в других таблицах. Например, данные о записях связаны с данными о пользователях, так что WordPress знает, кто является автором, какой записи.

Структура базы данных WordPress


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

Большинство таблиц связаны с одной или несколькими другими с помощью одного поля. Это поле будет уникальным идентификатором для каждой записи (пример post_id). Более подробно для каждой таблицы:

Таблица Данные Связи с другими таблицами
wp_posts
Записи, страницы, вложения, редакции, пользовательские записи
wp_postmeta через post_id
wp_term_relationships через post_id
wp_postmeta
Метаданные записей, страниц и т.д. wp_posts через post_id
wp_comments
Комментарии wp_posts через post_id
wp_commentmeta
Метаданные комментариев wp_comments через comment_id
wp_term_relationships
Связи между таксономиями и записями, страницами и т.д. wp_posts через post_id
wp_term_taxonomy через term_taxonomy_id
wp_term_taxonomy
Таксономии (включая категории и метки) wp_term_relationships через term_taxonomy_id
wp_terms
Ваши категории, метки и термины пользовательских таксономий
wp_term_taxonomy через term_id
wp_links
Ссылки в вашем блоке (как правило, сейчас не используется) wp_term_relationships через link_id
wp_users
Пользователи wp_posts через post_author
wp_user_meta
Метаданные для каждого пользователя wp_users через user_id
wp_options
Опции и настройки сайта
(устанавливаются в админке на странице настроек и в темах/плагинах)
Отсутвуют

Стоит отметить несколько вещей:
  • Таблицы базы данных по умолчанию имеют префикс wp_. Вы можете его изменить (например, при установке).
  • Таблица wp_posts является самой важно. Именно в ней храниться большинство данных.
  • Только одна таблица не связанна с другими — таблица wp_options. В ней хранятся данные о сайте и настройках WordPress, которые не имеют отношения к записям или пользователям.
  • Две таблицы используются для хранения данных о таксономии. Об это будет отдельная статья.
  • В таблицах wp_users и wp_comments данные не связаны. В настройках WordPress можно указать, что только зарегистрированные пользователи могут оставить комментарий. Не смотря на это, WordPress не хранит связи о комментариях и пользователе, который их отправил.
  • WordPress MU иметь некоторые дополнительные таблица. Их рассмотрение выходит за рамки данной статьи.

Связь контента и таблиц базы данных

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

Тип контента Таблица
Записи (posts) wp_posts
Страницы (pages) wp_posts
Пользовательские типы записей (custom post types) wp_posts
Вложения (attachments) wp_posts
Ссылки (links) wp_links
Элементы меню (navigation menu items) wp_posts
Категории (categories) wp_terms
Метки (tags) wp_terms
Пользовательские таксономии (custom taxonomies) wp_term_taxonomy
Термины пользовательских таксономий (custom terms) wp_terms
Метаданные (post metadata) wp_post_meta
Виджеты (widgets) wp_options
Опции (options) wp_options
Пользователи (users) wp_users
Нестандартный контент (hardcoded content) wp_posts (если добавлен к записям)
wp_options (если добавлен к виджетам)
Файлы тем/плагинов
Стороний контент (third party content) wp_posts (если добавлен к записям)
wp_options (если добавлен к виджетам)
Файлы тем/плагинов

Легко заметить, что не все таблицы используются в перечне. Так происходит потому, что некоторые из них используются для хранения метаданных. Другие используются для хранения связей. Оба варианта будут рассмотрены в последующих статьях.

Заключение

Надеюсь, что теперь вы лучшее понимаете, как и где WordPress хранит различные типы данных, как использует базу данных. Более подробно элементы этого процесса будут рассмотрены в последующих статьях. Так в следующей статье будут рассмотрены взаимосвязи между данными. А так же мы остановимся более подробно на том, как конкретные таблицы связаны и как некоторые из них используются исключительно для хранения данных об взаимосвязях.

Руководство для начинающих по базе данных WordPress

WordPress написан с использованием PHP в качестве скриптового языка, и MySQL в качестве системы управления базой данных. Для того, чтобы использовать WordPress, вам не обязательно изучать ни один из них. Однако, базовое понимание PHP и MySQL может помочь вам в решении проблем, а также более четко понимать как работает WordPress. В этой статье мы расскажем как WordPress использует базу данных, а также поясним значение основных таблиц в базе данных WordPress. Также мы покажем как управлять базой данных WordPress с помощью phpMyAdmin.

Как WordPress использует Базы Данных

WordPress использует PHP (язык программирования) для сохранения и извлечения данных в базу данных. Информация, хранимая в БД WordPress, содержит: записи, страницы, комментарии, рубрики, теги, произвольные поля, пользователей и другие настройки сайта, как например URL сайта и т.д. Подробнее остановимся на этом при описании каждой таблицы в базе ВП.

При первой установке WordPress, он запрашивает у вас имя базы данных, хост, имя пользователя и пароль. Эта информация сохраняет в конфигурационном файле (wp-config.php).

wordpress-create-wp-config[1]

Во время установки WordPress использует информацию, которую вы указали о базе данных для создания таблиц, и сохраняет в нее параметры по-умолчанию для сайта. После установки WordPress выполняет запросы к этой базе данных для динамической генерации HTML страниц вашего блога. Именно это делает WordPress исключительно мощным, потому как вам не нужно создавать новый файл .html для каждой страницы, которую вы захотите добавить. WordPress обрабатывает всё «на лету».

Вникаем в суть таблиц БД WordPress

Каждая новая установка WordPress создает 11 стандартных таблиц в базе данных. Каждая таблица содержит данные для различных разделов, фичи и функционал движка WordPress. Взглянув на структуру этих таблиц, вы можете с легкостью понять где сохраняются различные «части» вашего сайта. На сегодняшний день дефолтная установка WordPress создает следующие таблицы:

Примечание: wp_ перед каждым именем таблицы является префиксом БД, который вы выбираете при установве. Он может отличаться от вашего.

wp_commentmeta : Эта таблица содержит мета информацию о комментариях, опубликованных на сайте WordPress. В этой таблице есть четыре поля: meta_id, comment_id, meta_key, и meta_value. Каждый meta_id привязывается к comment_id. Примером мета информации комментариев может быть статус комментария (Ожидающие, Одобренные, Спам, В корзине и т.д.)

wp_comments : По названию таблицы можно понять, что она содержит в себе сами комментарии вашего WordPress, и включает в себя имя автора комментария, ссылку на сайт, электронный почтовый ящик, текст комментария и т.д.

wp_links : Для блока ссылок в ранних версиях WordPress или плагина Link Manager.

wp_options : Эта таблица содержит большинство основных настроек сайта: URL сайта, email администратора, стандартные рубрики, количество записей на странице, формат даты и многое другое. Также эта таблица используется многими плагинами для сохранения их настроек.

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

wp_posts : Имя таблицы говорит, что здесь находятся записи, однако на самом деле таблица содержит все типы записей, или, правильней будет сказать, все типы контента. В ней содержатся все ваши записи блога, страницы, ревизии и произвольные типы записей.

wp_terms : В WordPress есть мощная система таксономий, которая позволяет организовывать ваш контент. Отдельные элементы таксономий называются термы (terms) и они хранятся в этой таблице. Например, ваши рубрики и теги в WordPress — это таксономии, а каждая рубрика и тег внутри — терм.

wp_term_relationships : Эта таблица управляет взаимосвязями типов записей с термами в таблице wp_terms. Например, эта таблица помогает WordPress определить, что запись X находится в категории Y.

wp_term_taxonomy : Эта таблица определяет таксономии для термов в таблице wp_terms. Например, если у вас есть терм “WordPress Tutorials“, тогда в этой таблице будут содержаться данные, которые скажут о том, что он ассоциирован с таксономией рубрик. Вкратце, эта таблица содержит данные, которые позволяют WordPress определиться, какой терм является рубрикой, а какой тегом и т.д.

wp_usermeta : Содержит мета информацию о пользователях на вашем сайте.

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

Управление базой данных WordPress с помощью phpMyAdmin

phpMyAdmin — это open source ПО, которое предоставляет графический веб-интерфейс для управления вашей базой mySQL. У большинства хостинг-провайдеров phpMyAdmin можно найти в панели управления хостингом, что позволяет пользователям быстро получить доступ к базе данных и выполнять операции с ней. Выглядит phpMyAdmin приблизительно следующим образом:

phpmyadmin-main[1]

Клик на Databases отобразит вам список всех доступных либо созданных вами баз данных. Выбираем свою БД WordPress, после чего видим список всех таблиц WordPress.

wordpress-tables-phpMyAdmin[1]

Здесь вы можете выполнять различные операции, такие как поиск/замена определенного слова в ваших записях, восстановление БД, ее оптимизация, добавление новых администраторов, деактивация всех плагинов, изменение паролей и прочее.

Примечание: Прежде чем что-либо изменять, обязательно сделайте резервную копию базы данных! Кнопки «Отмена» здесь нет. Поэтому просто сделайте бекап.

VN:F [1.9.22_1171]

Rating: 4.0/5 (4 votes cast)

База данных WordPress изнутри


WordPress, как и большинство других современных систем управления контентом, активно использует базу данных. Вся информация хранится в ней – настройки блога, записи, комментарии, ссылки, информация о пользователях и т.д. Поэтому необходимо понимать, как база организована, какие типы данных в ней хранятся, и как разные вещи взаимодействуют друг с другом.

Перед тем, как мы займёмся детальным изучением структуры базы, я хочу обратить Ваше внимание на три следующих момента:

1. WordPress API предоставляет некоторые возможности для управления данными без прямого обращения к базе. Поэтому, с технической стороны, Вам не нужно знать, как база данных организована. Но если Вы имеете об этом представление, возможно, Вы найдёте решения, которые будут более быстрыми и эффективными для достижения поставленной цели.

2. Структура базы данных WordPress проста и удобна. Бояться нечего. Она состоит всего из 10 таблиц с несколькими полями в каждой. После беглого ознакомления структура останется в Вашей памяти.

3. Структура базы данных WordPress хорошо документирована.

wp_posts

WordPress используется в основном как система управления контентом (CMS). Поэтому, на мой взгляд, таблица с контентом имеет основное значение. Страницы, записи, аттачменты, все это – контент, всё это WordPress хранит в одной таблице – wp_posts.

В действительности аттачменты хранятся как есть – в виде файлов на диске, но WordPress использует таблицу wp_posts для хранения мета-информации об аттачментах (например ID пользователя, который его загрузил, ID записи, которая ссылается на аттачмент, время загрузки и т.п.).

Страницы, записи и аттачменты могут быть очень похожи друг на друга, а могут сильно отличаться. Сначала мы рассмотрим, что общего между ними. Все три вида контента имеют уникальный идентификатор – ID (обычно создаётся автоматически WordPress’ом или MySQL), автора (человек, который написал запись или загрузил файл), дату, название (заголовок), и описание (даже если это поле пустое, его можно будет заполнить позже). Все три вида имеют URL. Итак, для каждой записи, страницы или аттачмента имеется запись в таблице wp_posts.

Теперь поговорим о различиях между ними. Чтобы отличить один тип контента от другого, в таблице wp_posts существует поле post_type. Для записей его значение – ‘post’, для страниц – ‘page’, для аттачментов – ‘attachment’.

Сущещствует некоторое количество специальных полей. Например, поле post_mime_type используется для хранения типа файла аттачмента (‘image/jpeg’ и ‘application/pdf’). Поле menu_order содержит порядковый номер отображения страницы в списке. Поле post_parent используется для организации страниц с «подстраницами», а так же для хранения информации о связи аттачмента с записью.

Для того, чтобы понять, как и когда используется то или иное поле, запустите следующие запросы (для каждого типа контента):

* SELECT * FROM wp_posts WHERE post_type = 'post' LIMIT 1
* SELECT * FROM wp_posts WHERE post_type = 'page' LIMIT 1
* SELECT * FROM wp_posts WHERE post_type = 'attachment' LIMIT 1

В этой же таблице находится информация о состоянии записи/страницы. В большинстве случаев Вы увидите ‘publish’ для опубликованных записей, ‘draft’ для черновиков, и ‘inherit’ для аттачментов. С остальными состояниями Вы без проблем разберетесь сами.

Вот несколько примеров того, как может быть использована таблица wp_posts:

* Получение статистики – сколько записей вы всего написали, сколько записей написал тот или иной автор, какое количество записей публикуется в среднем за день и т.д.
* Создать список всех аттачментов.
* Создать галерею картинок для каждой записи (hint: «WHERE post_type = ‘attachment’ AND (post_mime_type = ‘image/jpeg’ OR post_mime_type = ‘image/gif’ OR post_mime_type = ‘image/png’)»).

wp_postmeta

Существует миллион вещей, которые Вы, возможно, захотите проассоциировать со своей записью: Ваше настроение, название песни, которую Вы слушали, географическое местоположение, список ссылок на похожие записи, специфичную информацию для поисковых машин, и т.д. и т.п. Всё это хранится в таблице wp_postmeta.

Структура этой таблицы очень простая и гибкая. Она имеет всего четыре поля: meta_id, post_id, meta_key и meta_value. meta_id создаётся автоматически, и я не вижу ни одной причины, по которой его нужно было бы менять вручную. post_id соответствует ID записи (в таблице wp_posts), о которой эта мета-информация. meta_key – это краткое описание мета-информации, которую Вы хотите добавить к записи (например ‘mood’ или ‘song’). meta_value – это непосредственно значение мета-информации (например «хуевастенько» для ‘mood’).

WordPress использует эту таблицу для хранения дополнительной информации об аттачментах, которая не может быть сохранена в таблице wp_posts (локальные пути к файлу, информация о превьюшках и т.д.). Также в этой таблице содержатся специфические поля или значения – те, которые вы видите в редакторе. И, конечно, существует огромное количество плагинов, которые используют эту таблицу для своих нужд. Итак, если Вы решили использовать эту таблицу, Вам нужно придумать уникальные имена для Ваших «мета-ключей», в противном случае Ваш плагин может конфликтовать с другими.

wp_users

WordPress использует эту таблицу для хранения информации о зарегистрированных пользователях. В ней содержатся ID пользователей, их логин, зашифрованный пароль, полное имя, дата регистрации, и многое другое.

wp_usermeta

Для пользователей таблица wp_usermeta является тем же самым, чем является wp_postmeta для записей (контента). В ней содержится вся дополнительная информация о пользователях – персональные настройки (вкл./выкл. визуальный редактор, день рождения, контактная информация и т.п.).

wp_comments

В таблице wp_comments хранятся все комментарии к записям на вашем сайте, включая подтвержденные, ожидающие модерации, спам, трэкбэки, пингбэки, посланные Вам с других сайтов. О предназначении полей этой таблицы Вы можете догадаться и сами, но в любом случае, вот их краткое описание:

* comment_ID – уникальный ID для каждого комментария, создаётся автоматически MySQL
* comment_post_ID – уникальный ID записи, к которой комментарий был добавлен
* comment_author – имя автора комментария
* comment_author_email – email автора комментария
* comment_author_url – URL автора комментария
* comment_author_IP – IP-адрес автора комментария
* comment_date – дата и время добавления комментария
* comment_content – текст комментария
* comment_approved – прошёл ли комментарий модерацию и если да, то как
* comment_agent – браузер автора комментария (MSIE, Firefox, Safari и т.д.)
* comment_type – обычный комментария, трэкбэк, пингбэк
* user_id – ID автора, если он зарегистрированный пользователь

Есть еще несколько полей, но они нам вряд ли понадобятся, поэтому мы оставим их описание за кадром.

wp_options

Таблица wp_options содержит все глобальные настройки WordPress. Она довольно похожа на таблицы wp_postmeta и wp_usermeta по структуре, но есть и различия.

В этой таблице есть поле blog_id, но используется оно только в WordPress MU (большая часть кода однопользовательской и многопользовательской инсталляций WordPress совпадают). WordPress MU использует это поле для того, чтобы отличить настройки одного блога от настроек другого.

Поле autoload определяет – загружаются/записываются ли настройки из базы данных/кэша или они доступны только для чтения. Большинство настроек загружаются автоматически.

wp_categories

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

Для ускорения работы WordPress сохраняет некоторую статистику. Например, количество записей и ссылок в категории пересчитывается каждый раз при их добавлении или удалении (поля category_counter и link_count).

wp_post2cat

Связывание записи с категорией осуществляется через таблицу wp_post2cat. Это стандартный подход для связи «многих-со-многими» в реляционных базах данных. wp_post2cat имеет только три поля: уникальный ID (для строки в таблице, создаётся автоматически), уникальный ID записи и ID категории, в которую добавлена запись.

wp_links

Обычно таблица wp_links используется для хранения блогролла, списка ссылок на другие сайты или блоги. Настроек для блогролла огромное количество, поэтому подробно рассматривать эту таблицу мы не будем. Скажу только одно: если Вам вдруг вздумается создать на основе WordPress каталог ссылок, например новый Yahoo!, Вам не придётся много программировать. По сути нужно только будет создать «кустомную» тему.

wp_link2cat

Таблица wp_link2cat практически идентична wp_post2cat, за исключением того, что в ней содержатся ID ссылок вместо ID записей.

P.S. статья старенькая и подходит для базы WordPress до версии 2.3, но я решил ее все таки опубликовать, т.к. общее все рано есть. Может кому пригодиться 😉

Источник, перевод.

Обзор базы данных в WordPress

Движок WordPress построен на языке программирования PHP и в качестве хранения всего содержимого используются базы данных MySQL. Но совсем необязательно знать основы системы для полноценного использования, хотя это было бы большим плюсом. Поскольку вы могли бы решать самостоятельно проблемы различного рода, а также познать и увеличить знание о работе WordPress. В статье мы как раз и рассмотрим начальное понимание о базе данных WordPress и задействуем пару примеров управление базами данных с помощью phpMyAdmin.

Использования базы данных в WordPress

Как говорилось выше, WordPress построен на языке программирования PHP что дает большие возможности в реализации многих функций. А базы данных в WordPress служат в качестве хранения и извлечения материалов. Это касается всего: страницы, теги, адреса, комментария и многое другое. Ниже мы разберем каждую таблицу из базы данных WordPress в отдельности.

Таблицы Базы Данных WordPress

По умолчанию в WordPress имеется одиннадцать таблиц в базе данных. Каждая из них отвечает за свой раздел функциональности и можно поименно понять за какой именно.

Примечание: префикс базы данных в WordPress изначально применяется такой wp_, но так, как есть возможность его изменить он может быть у каждого разный.

wp_commentmeta: Данная таблица относится к комментариям и содержит в себе информацию Мета — данных. В таблице находится четыре поля meta_id, comment_id, meta_key, meta_value.

wp_comments: Название таблицы говорит само за себя. Она отвечает за комментарий, email – адреса, авторов и т.д.

wp_links: Ссылки в администраторской панели. Это больше относится к более раним версиям.

wp_options: В этой таблице находится большая часть ваших основных данных, таких как: адрес сайта, e-mail администратора, формат даты и многое другое.

wp_postmeta: Таблица содержит в себе информацию постов именуемая как мета – данные. А также в эту таблицу плагины могут добавлять собственную информацию.

wp_posts: Центр данных: страницы, посты, ревизии, все это находится в этой таблице.

wp_terms: Категории, метки и термин таксономии.

wp_term_relationships: Связь с категориями, тегами, записями и пр.

wp_term_taxonomy: Определение термина таксономии.

wp_usermeta: Мета – информация о пользователей сайта.

wp_users: Данные пользователей: пароли, логины, e-mail и т.д.

Управление базами данных в WordPress с помощью phpMyAdmin

phpMyAdmin – это административная зона управления базами данных она также написана на языке программирования PHP. Через это приложение выполняются все действия с БД в WordPress. На данный момент у многих веб – хостингов имеется эта система управления БД так, как она популярна и очень удобна в использование.

После того как вы зайдете в phpMyAdmin слева можно увидеть список всех созданных БД. При нажатии на одну из них откроется список таблиц, находящихся в этой базе. На вкладке «SQL» возможно задействовать различные запросы, а также в phpMyAdmin можно сделать резерв баз данных, оптимизацию БД и пр.

Оптимизация базы данных в WordPress

Оптимизация БД выполняется за счет дефрагментации таблиц что в результате уменьшает их размер и более ускоряет работу. В статье «Улучшаем скорость WordPress» описаны действия, которые нужно выполнить для оптимизации базы данных. Если этот метод вам не подходит, то можно оптимизировать базу данных в WordPress с помощью плагина.

Резервное копирование базы данных в WordPress

Зачастую для резервного копирования применяют специальные плагины их можно отнести в раздел — самые необходимые плагины для WordPress. Но это только один из способов. Вторым является ручное копирование, точнее, экспорт баз данных, подробнее можно ознакомиться в статье «Перенос WordPress сайта на реальный хостинг».

Вот такой небольшой обзор баз данных в WordPress. Есть много других вещей, которые можно сделать с помощью phpMyAdmin, но с ними мы будем знакомиться в других статьях.

Источник: http://www.wpbeginner.com/beginners-guide/beginners-guide-to-wordpress-database-management-with-phpmyadmin/

База данных WordPress сайта | IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем разговор о создании блога на WordPress. И сегодня мы поговорим о базе данных WordPress. Разберемся с сервером баз данных, который используется движком WordPress, какой тип движка использует база данных WordPress. Поговорим немного о таблицах базы данных WordPress, и на конец,  мы рассмотрим структуру каждой таблицы.

 

База данных WordPress сайта

База данных WordPress сайта

Для чего необходимо знать архитектуру базы данных этой системы управления сайтами? Как минимум, для общего развития. Большинству пользователей WordPress эта информация может показаться излишней и не нужной: простые посетители сайтов вряд ли заинтересуются этим вопросам, многие вебмастера, которые используют WordPress, не представляют себе то, как он работает изнутри, поэтому ставят кучу ненужных плагинов и расширений. Начинающим веб-разработчикам, использующим WordPress, как платформу для создания сайтов и блогов, информация из этого   поста может показаться очень полезной и нужной.

Особенности работы базы данных WordPress

Содержание статьи:

И так, для начала следует сказать, что оригинал статьи на английском языке вы сможете найти на сайте кодекса WordPress. Ссылку была дана в статье, в которой писал про создание WordPress шаблона. Сразу скажу, что перевод статьи о базе данных WordPress не дословный, а вольный. Приступим.

Любому начинающему разработчику WordPress необходимо ознакомиться с двумя вещами: с технической документацией WordPress и с особенностями архитектуры базы данных, как минимум, для того чтобы уметь создавать сложные WordPress шаблоны и простенькие плагины, сегодня мы познакомимся с архитектурой базы данных сайта на WordPress.

Первое, что следует сказать: в качестве системы управления базами данных WordPress использует MySQL сервер версии 5.0.15 и выше (внимание: эта информация актуальна на момент написания публикации). Как я уже говорил: конечному пользователю информация о БД WordPress навряд ли когда-то пригодится, многим разработчикам для создания тем и плагинов WordPress будет достаточно набора функций WordPress для работы с базами данных, но иногда бывают ситуации, когда API WordPress недостаточно.

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

Структура базы данных WordPress сайта

Ниже вы можете увидеть структуру базы данных WordPress, а также отношения и зависимости между таблицами базы данных. Обратите внимание: такую архитектуру база данных WordPress имеет при начальной установки без плагинов и расширений. База данных WordPress насчитывает 11 таблиц и 9 связей между таблицами: шесть не идентифицирующих и три идентифицирующих.

 

Архитектура базы данных WordPress

Архитектура базы данных WordPress

Обратите внимание: при стандартной установки WordPress целостность данных в базе данных обеспечивается не полностью, например, между записями вашего блога и комментариями. Если вы создаете сложный шаблон, плагин или расширение WordPress, то нужно самостоятельно заботиться о поддержании целостности данных в базе данных. Также не забывайте делать резервные копии базы данных WordPress, перед тем, как попытаетесь вносить изменение вручную.

Таблицы WordPress, откуда брать данные

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

Таблица базы данных WordPress
Имя таблицы WPСодержимое таблицы WPПользовательский интерфейс
 wp_commentmetaХарактеристики каждого комментария хранятся в таблице wp_commentmeta Админка WP -> Комментарии
 wp_commentsWordPress комментарии хранятся в таблице wp_comments Админка WP ->Комментарии
 wp_linksВ таблице wp_links хранятся данные о ссылках WordPress Админка WP -> Ссылки -> Добавить новую  Админка WP -> Ссылки -> Ссылки
 wp_optionsНастройки WordPress хранятся в таблице wp_optionsАдминка WP -> Настройки -> Общие 

Админка WP -> Настройки -> Написание

Админка WP -> Настройки -> Чтение

Админка WP -> Настройки -> Обсуждение

Админка WP -> Настройки -> Приватность

Админка WP -> Настройки -> Постоянные ссылки

Админка WP -> Настройки -> Виджеты
 wp_postmetaХарактеристики каждой WordPress статьи находятся в таблице wp_postmeta. Некоторые плагины могут добавлять сюда собственную информацию Админка WP -> Сообщения -> Добавить новое  Админка WP -> Страницы -> Добавить новую
 wp_postsВ таблице wp_posts хранится вся основная информация сайта: навигационное меню, тексты статей и страниц, и пр.Админка WP -> Сообщения 

Админка WP -> Страницы

Админка WP -> Сообщения -> Добавить новое

Админка WP -> Страницы -> Добавить новую

Админка WP -> Медиа -> Добавить новую

Админка WP -> Медиа -> Библиотека

Админка WP -> Оформление -> Меню
 wp_termsКатегории для постов, тэгов и ссылок хранятся в этой таблице Админка WP -> Сообщениия -> Тэги 

Админка WP -> Сообщениия -> Категории

Админка WP -> Ссылки -> Ссылки категорий
 wp_term_relationshipsДанная таблица предназначена для хранения ассоциаций в WordPress Админка WP -> Сообщениия 

Админка WP -> Страницы -> Добавить новую

Админка WP -> Страницы
 wp_term_taxonomyВ этой таблице хранится информация о таксономии WordPress. Меню категорий, ссылок и тэгов. Данные используются для записи в таблицу wp_terms.
 wp_usermetaМета-данные о пользователях WordPress хранятся в таблице wp_usermeta Админка WP -> Пользователи
 wp_usersСписок бользователей WordPress хранится в таблице wp_users Админка WP -> Пользователи

Поля WordPress таблиц, идексы, ограничения и связи базы данных WordPress

Приведем подробное описание WordPress таблиц и связей между таблицами WordPress.

Описание таблицы wp_commentmeta базы данных WordPress

Описание таблицы wp_commentmeta базы данных WordPress

//

//

Индексы таблицы wp_commentmeta базы данных WordPress

Индексы таблицы wp_commentmeta базы данных WordPress


Описание таблицы wp_comments базы данных WordPress

Описание таблицы wp_comments базы данных WordPress


Индексы таблицы wp_comments базы данных WordPress

Индексы таблицы wp_comments базы данных WordPress


Описание таблицы wp_links базы данных WordPress

Описание таблицы wp_links базы данных WordPress


Индексы таблицы wp_links базы данных WordPress

Индексы таблицы wp_links базы данных WordPress


Описание таблицы wp_options базы данных WordPress

Описание таблицы wp_options базы данных WordPress


Индексы таблицы wp_options базы данных WordPress

Индексы таблицы wp_options базы данных WordPress


Описание таблицы wp_postmeta базы данных WordPress

Описание таблицы wp_postmeta базы данных WordPress


Индексы таблицы wp_postmeta базы данных WordPress

Индексы таблицы wp_postmeta базы данных WordPress


Описание таблицы wp_posts базы данных WordPress

Описание таблицы wp_posts базы данных WordPress


Индексы таблицы wp_posts базы данных WordPress

Индексы таблицы wp_posts базы данных WordPress


Описание таблицы wp_terms базы данных WordPress

Описание таблицы wp_terms базы данных WordPress


Индексы таблицы wp_terms базы данных WordPress

Индексы таблицы wp_terms базы данных WordPress


Описание таблицы wp_terms_relationships базы данных WordPress

Описание таблицы wp_terms_relationships базы данных WordPress

 

Индексы таблицы wp_terms_relationships базы данных WordPress

Индексы таблицы wp_terms_relationships базы данных WordPress


Описание таблицы wp_term_taxanomy базы данных WordPress

Описание таблицы wp_term_taxanomy базы данных WordPress


Индексы таблицы wp_term_taxanomy базы данных WordPress

Индексы таблицы wp_term_taxanomy базы данных WordPress


Описание таблицы wp_usermeta базы данных WordPress

Описание таблицы wp_usermeta базы данных WordPress


Индексы таблицы wp_usermeta базы данных WordPress

Индексы таблицы wp_usermeta базы данных WordPress

 

Описание таблицы wp_users базы данных WordPress

Описание таблицы wp_users базы данных WordPress


Индексы таблицы wp_users базы данных WordPress

Индексы таблицы wp_users базы данных WordPress

Что же, на этом можно будет закончить описание архитектуры базы данных WordPress.

WordPress: работа с базой данных

Автор:
(Людмила Лунева)
Веб-дизайнер и разработчик сайтов на wordpress

Наверное, вы уже знаете, что практически все современные сайты, также работающие на wordpress, сохраняют информацию в базе данных MySQL(БД).

Для удобства управления базой на хостинге установлен скрипт phpMyAdmin.
В панели phpMyAdmin можно легко управлять базой данных через браузер, выполняя все нужные операции. Можно, например:

  • Создать резервную копию базы данных (Экспорт) или восстановить базу из созданной ранее копии (Импорт).
  • Выполнить SQL-запросы к базе данных — это позволяет массово изменять определенную информацию. Например, можно поменять имя админа или одним запросом исправить все ссылки на сайте.
  • Редактировать таблицы или строки таблиц.
  • Удалять отдельные таблицы или всю базу целиком.
  • А также совершать множество других операций.

Это очень легко и удобно, но иногда БД выдает ошибки.
Практически на любом сайте, возраст которого больше года, периодически возникают ошибки БД.

Содержание:

  1. Как выглядят ошибки, вызванные некорректной работой базы данных MySQ?
  2. Откуда берутся ошибки базы данных MySQ?
  3. Как найти лишние таблицы в БД?
  4. Как понять, какие таблицы удалять, а какие нет?
  5. Как удалить лишние таблицы из БД?
  6. Где еще может скрываться лишняя информация?

Эти ошибки сложно отследить, не считая случаев, когда на странице явно написано: «SQL Error»

  • Какие то функции вашей темы не работают на вашем существующем сайте, но, при этом, работают на новом сайте (с новой базой данных).
  • На страницах выводится текст, который вы не добавляли.
  • Сайт регулярно «слетает» — пропадает или криво отображается контент.

В тяжелых случаях повреждения БД:

  • Данные на странице могут быть перепутаны: части контента выводятся не там, где должны были бы выводиться.
  • Долго работает поиск или не находит того, что точно есть на сайте.
  • Не правильно работают ссылки — например, ссылка указывает на пост, а при переходе по ней отображается пустая страница или другой пост.
  • В БД записывается вся информация, которая есть на сайте, в том числе настройки тем + плагинов. Иногда, чтобы найти нужный, приходится устанавливать множество других. Потом лишние удаляются, но каждый из плагинов оставляет таблицы со своими настройками.
  • Проблемы могут возникнуть из-за противор

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *