WordPress: API опций

WordPress: API опций

· WordPress, Настройки и Разработка плагинов · 1 мин чтения
AnyComment - Современный виджет комментариев для WordPress

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 запрос, и как правило — это может отправиться негативно на производительности. Когда вы храните опции в виде массива, делается только один запрос и тем самым затрачивается минимальное кол-во ресурсов.