Update_option() - обновление настроек в базе данных WP
01.09.2018
Те, кто хоть раз заглядывал под капот тем или плагинов WordPress, наверняка встречали эту функцию.
update_option ( $option_name , $option_value , $autoload = null ) |
Прежде, чем начать тупо описывать параметры этой функции, я предлагаю вам взглянуть на скриншот из phpMyAdmin из таблицы wp_options mysql-базы данных сайта.
И сразу стало всё понятно. И сразу отпала необходимость описывать параметры $option_name и $option_value.
Adding a WordPress blog to a Magento installation
Если вы немного дружите с английским, то вам станет понятно, что это те же настройки, которые находятся в админке WordPress. Чтобы уж совсем всё стало ясно, вот скриншот из админки:
Как видите, абсолютно те же самые настройки, но только в другом порядке.
Функция update_option() нужна для обновления существующих настроек в базе данных, либо добавления новых, если настроек с заданным $option_name не существует.
AJAX виджет с заметками в админке WordPress - практика создания плагинов
Сразу сходу можно написать пример:
update_option ( 'admin_email' , '[email protected]' ) ; |
А теперь несколько важных моментов:
Если обновление настроек прошло успешно, функция возвращает true, иначе — false. В версии 4.2 появился параметр $autoload и непосредственно в базе данных он имеет два значения — no и yes. yes означает, что в самом начале, при загрузке страницы, эту опцию нужно вытащить одним запросом из базы данных вместе с другими autoload-опциями и поместить в кэш. В качестве значения параметра $option_value можно передавать несериализованный массив — он сериализуется автоматически внутри функции. Передаваемые в функцию данные экранировать не нужно — это тоже происходит внутри неё.