Як у WordPress зберегти опції у БД

Як у WordPress зберегти опції у БД

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

Для взаємодії з цією таблицею, рушій WordPress надає низку готових функцій та фільтрів.

Розглянемо невеликий приклад роботи:

$option_key = 'my_option_var';

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

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', '', false);
var_dump($result);
echo "<hr>";

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

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

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

echo "<b>delete_option</b>
";
$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 сайтом проблеми? потрібний додатковий функціонал? нестандартний плагін чи згорнути нову сторінку?
Тоді напишіть мені через форму зворотного зв'язку, і я намагатимусь вам допомогти.

Напишіть коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *