Как в WordPress сохранить опции в БД

Как в WordPress сохранить опции в БД

Одним из самым простым способом хранения данных в WP, является хранение данных в базе данных, в таблице опций - «wp_options». Обычно, в данную таблицу сохраняют данные плагинов или тем, не относящихся к каким либо мета значениям (постов, пользователей и таксономий).

Для взаимодействия с данной таблицей, движок вордпресс предоставляет ряд готовых функций и фильтров.

Рассмотрим небольшой пример работы:

$option_key = 'my_option_var';

echo "<b>get_option</b><br>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

echo "<b>get_option + default value</b><br>";
$result = get_option($option_key, 'default_value');
var_dump($result);
echo "<hr>";

echo "<b>add_option with string</b><br>";
$result = add_option($option_key, 'option_value', '', false);
var_dump($result);
echo "<hr>";

echo "<b>get_option</b><br>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

echo "<b>update_option with array</b><br>";
$result = update_option($option_key, array(
	1 => 'One',
	'Two' => 3,
	'Three' => 'Three',
));
var_dump($result);
echo "<hr>";

echo "<b>get_option</b><br>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

echo "<b>delete_option</b><br>";
$result = delete_option($option_key);
var_dump($result);
echo "<hr>";
die;

В данной части кода:

$option_key = 'my_option_var';

echo "<b>get_option</b>";
$result = get_option($option_key);
var_dump($result);
echo "<hr>";

мы пытаемся получить опцию с названием «my_option_var». И в том случае, если значение было ранее установлено, мы его получит. В противном, ф-я вернет значение false.

Так же, мы можем установить значение по умолчанию:

echo "<b>get_option + default value</b>";
$result = get_option($option_key, 'default_value');
var_dump($result);
echo "<hr>";

и оно будет возвращено ф-ей в том случае, если в БД будет отсутствовать нужная нам запись.

Установить значение, мы можем следующим образом:

echo "<b>add_option with string</b>";
$result = add_option($option_key, 'option_value', '', 'yes');
var_dump($result);
echo "<hr>";

где:
$option_key — название опции
option_value — содержимое опции
третий, пустой параметр — более не используется
'yes' — параметр, определяющий будет ли опция загружаться сразу же после загрузки сайта, или будет ждать того момента, пока не будет вызвана вручную. Второй возможный вариант установки - «no». Так же можно использовать true/false

Так же, WP позволяет хранить в данной переменной и массивы:

echo "<b>update_option with array</b>";
$result = update_option($option_key, array(
	1 => 'One',
	'Two' => 3,
	'Three' => 'Three',
));

сериализовав их предварительно. При получение массивов из БД, разсериализирование строки в массив происходит автоматически.

Удалить опцию, можно с помощью функции «delete_option»:

echo "<b>delete_option</b>";
$result = delete_option($option_key);
var_dump($result);
echo "<hr>";

в случае удачного удаления, будет возвращено true.
На этом все.

Поделиться в соцсетях:
Статьи на похожую тематику

С вашим WordPress сайтом проблемы? нужен дополнительный функционал? нестандартный плагин или сверстать новую страницу?
Тогда напишите мне через форму обратной связи, и я постараюсь вам помочь.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *