API опций было добавлено в WordPress 1.0, с их помощью можно создавать, читать, изменять и удалять уже существующие настройки или ваши собственные. Совместно с API настроек, вы можете контролировать страницу с настройками.
Где хранятся настройки?
Опции хранятся в таблице {$wpdb->prefix}_options
. $wpdb->prefix
— это префикс ваших таблиц, он определяется $table_prefix
переменной в конфиг файле — wp-config.php
.
Как хранятся опции?
Опции могут хранится в базе WordPress двумя разными способами: в виде одного значения или как массив значений.
Одно значение
Ниже представлен вариант добавления и получения одной опции в WordPress:
// добавляем новую опцию add_option('bologer_custom_option', 'Какое-то значение опции'); // получаем опцию $option = get_option('bologer_custom_option');
Массив значений
Ниже, в примере представлен пример хранения значений в виде массива (в формате: ключ => значение):
$dataArray = ['title' => 'что-то', 'body' => 'Еще что-то']; // добавляем опцию add_option('bologer_custom_option', $dataArray); // получаем опцию $options = get_option('bologer_custom_option'); // вывести заголовок из сохраненного массива echo esc_html($options['title']);
Если вы работаете с большим количеством опций, то сохраняя их в виде массива вы сохраните производительность.
Каждая полученная опция по отдельности запустит новый SQL запрос, и как правило — это может отправиться негативно на производительности. Когда вы храните опции в виде массива, делается только один запрос и тем самым затрачивается минимальное кол-во ресурсов.