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