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

Таблица wp_options

Таблица wp_options (или {префикс}_options) является центральным хранилищем настроек WordPress. В ней содержатся все основные параметры сайта, настройки чтения, постоянных ссылок, активных плагинов, текущей темы, а также произвольные опции, добавляемые плагинами и темами. От целостности этой таблицы напрямую зависит работоспособность всего сайта.

Поля

Поле Тип данных Описание
option_id bigint(20) unsigned Уникальный идентификатор (AI) каждой записи-настройки.
option_name varchar(191) Уникальное имя опции (ключа). Именно по этому имени происходит обращение к значению. Должно быть уникальным. Примеры: siteurl, home, blogname, active_plugins.
option_value longtext Значение опции. Может хранить большой объем данных в сериализованном формате (массивы, объекты) или в формате JSON.
autoload varchar(20) Определяет, должна ли опция автоматически загружаться при каждом запуске WordPress (при вызове функции wp_load_alloptions()). Значение yes означает, что опция кэшируется для быстрого доступа. Значение no - опция будет загружена только когда явно запрошена. Критически важные для загрузки ядра опции имеют значение yes.

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

При инициализации WordPress ядро загружает все опции с autoload = 'yes' в кэш объектов. Это позволяет быстро получать доступ к основным настройкам сайта без постоянных запросов к базе данных. Для работы с опциями используются функции:

get_option('option_name') - получить значение опции.
update_option('option_name', $value) - обновить или добавить опцию.
add_option('option_name', $value, '', 'no') - добавить новую опцию (с указанием автозагрузки).
delete_option('option_name') - удалить опцию.

Плагины и темы широко используют эту таблицу для хранения своих настроек. Например, плагин кэширования может хранить здесь параметры кэша, а плагин форм - настройки полей и уведомлений. Важно следить, чтобы плагины не злоупотребляли автозагрузкой (autoload='yes') для редко используемых данных, так как это может привести к раздуванию памяти и замедлению загрузки сайта.

Некоторые ключевые опции, без которых WordPress не может работать:

siteurl, home - базовые URL сайта.
blogname, blogdescription - название и описание сайта.
active_plugins - сериализованный массив путей к активным плагинам.
template, stylesheet - имена активной родительской темы и дочерней темы (если используется).
rewrite_rules - правила для работы с постоянными ссылками.

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

Получить список всех опций, которые настроены на автозагрузку:

SELECT option_name, LENGTH(option_value) AS value_size FROM wp_options WHERE autoload = 'yes' ORDER BY value_size DESC;

Обновить название сайта напрямую в базе данных:

UPDATE wp_options SET option_value = 'Мой новый сайт' WHERE option_name = 'blogname';

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

  • таблицу wp_posts,
    которая хранит записи, страницы и произвольные типы записей
  • таблицу wp_users,
    которая содержит данные пользователей сайта
  • таблицу wp_postmeta,
    которая хранит произвольные мета-поля для записей и страниц