Таблица wp_blogs
Таблица wp_blogs
- это фундаментальная таблица в установке WordPress с включенной функцией Multisite. Каждая запись в этой таблице представляет собой отдельный сайт (блог) в сети. Эта таблица создается только при активации Multisite и не существует в стандартных одиночных установках WordPress.
Поля
Поле | Тип данных | Описание |
---|---|---|
blog_id |
bigint(20) |
Уникальный числовой идентификатор сайта в сети. Это первичный ключ таблицы. Значение 1 всегда зарезервировано для основного сайта сети.
|
site_id |
bigint(20) |
Идентификатор сети, к которой принадлежит сайт. В обычной установке Multisite (до версии WordPress 3.5) это значение всегда равно 1 . Поле стало значимым с появлением возможности создавать несколько сетей сайтов.
|
domain |
varchar(200) |
Домен сайта (например, example.com ). Для подсайтов в поддиректориях это поле содержит домен основного сайта. Для поддоменных установок - полное доменное имя подсайта (например, site1.example.com ).
|
path |
varchar(100) |
Путь к сайту. Для основного сайта и подсайтов в поддоменах это значение обычно равно / . Для сайтов, созданных в поддиректориях, содержит путь к директории (например, /site1/ ).
|
registered |
datetime |
Дата и время регистрации (создания) сайта в сети. |
last_updated |
datetime |
Дата и время последнего обновления любой записи на сайте. Это поле обновляется автоматически. |
public |
tinyint(2) |
Флаг, указывающий на видимость сайта для поисковых систем. Значение 1 означает, что сайт индексируется, значение 0 - что сайт скрыт от индексации (настройка "Видимость сайта" в админ-панели).
|
archived |
tinyint(2) |
Флаг, указывающий, что сайт архивирован (1 ) или активен (0 ). Архивированные сайты отображаются с пометкой "Заархивирован" в списке сайтов сети и могут быть восстановлены суперадминистратором.
|
mature |
tinyint(2) |
Флаг, указывающий, что сайт помечен как "Для взрослых" (1 ) или нет (0 ).
|
spam |
tinyint(2) |
Флаг, помечающий сайт как спам (1 ) или нет (0 ). Помеченные сайты могут быть удалены суперадминистратором.
|
deleted |
tinyint(2) |
Флаг, указывающий, что сайт помечен как удаленный (1 ) или активен (0 ). WordPress не удаляет сайты из базы данных физически, а лишь помечает их этим флагом.
|
lang_id |
int(11) |
Идентификатор языка сайта, если используется мультиязычность. Ссылается на таблицу wp_languages .
|
Как это работает
При первой установке WordPress Multisite создается запись для основного сайта сети с blog_id
= 1
. Для этого сайта создается отдельный набор таблиц с префиксом wp_
.
При создании каждого нового сайта в сети (будь то поддомен или поддиректория) в таблицу wp_blogs
добавляется новая запись. Для этого сайта автоматически создается свой набор таблиц. Префикс этих таблиц формируется на основе blog_id
(например, для сайта с blog_id
= 2
префикс таблиц будет wp_2_
).
Когда пользователь обращается по URL, WordPress анализирует домен и путь, ищет совпадение в полях domain
и path
таблицы wp_blogs
, чтобы определить blog_id
и загрузить данные из соответствующих таблиц этого сайта.
Поля public
, archived
, mature
, spam
и deleted
используются для управления состоянием сайтов через админ-панель сети и влияют на их доступность для посетителей и поисковых систем.
Пример SQL-запроса
Получить список всех активных сайтов в сети можно с помощью запроса:
SELECT blog_id, domain, path, registered
FROM wp_blogs
WHERE deleted = 0
AND archived = 0
AND spam = 0
ORDER BY blog_id;
Узнать, какой префикс таблиц используется для конкретного сайта, можно через конкатенацию:
SELECT blog_id, CONCAT('wp_', blog_id, '_') as table_prefix
FROM wp_blogs
WHERE blog_id = 4;
Смотрите также
-
таблицу
wp_blog_versions
,
которая отслеживает версии баз данных сайтов -
таблицу
wp_site
,
которая хранит информацию о сетях в MU -
таблицу
wp_users
,
которая содержит общих пользователей для всей сети -
таблицу
wp_usermeta
,
которая хранит метаданные пользователей