ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
14 of 21 menu
Хочешь читать code.mu на своем родном языке? Помоги с переводом! Переведем мы сами, тебе нужно указать на ошибки перевода:) Оставляй заявку ->

Таблица 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,
    которая хранит метаданные пользователей