delete_option() – функция удаляет опцию из базы данных

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Позволяет удалить определённую опцию из базы данных по её ключу, если удаление прошло успешно, возвращает true, если же нет – false (например опции с указанным ключом не существует или же вообще в качестве значение $option была передана пустая строка).

delete_option( $option )

Параметры

$option
(строка) Название (ключ) опции, которую нужно удалить

Пример

В этом примере, в описании функции add_option(), мы добавляли какую-то произвольную опцию в базу данных, я назвал её true_option (естественно). Давайте теперь попробуем её удалить.

delete_option( 'true_option' );

Всё, после выполнения этой строчки кода опция будет удалена.

Хуки

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

delete_option

Хук позволяет выполнить какую-либо произвольную функцию непосредственно перед удалением опции из базы данных. Хук не выполнится, если мы пытаемся удалить защищённую опцию, либо если опции с указанным ключом не существует.

do_action( 'delete_option', $option );
$option
(строка) Название опции.

Добавлен в WordPress 2.9.0.

delete_option_{$option}

Срабатывает после удаления определённой опции, т.е. опции, ключ которой является частью названия данного хука.

do_action( "delete_option_{$option}", $option );
$option
(строка) Название опции.

В одном из примеров, в описании хуков функции add_option() я написал функцию, которая автоматически добавляет вторую опцию в базу данных при добавлении опции с определённым ключом и значением. Предлагаю, используя хук delete_option_{$option}, написать функцию, которая будет выполнять обратное действие.

add_action( 'delete_option_true_option', 'true_remove_2_options', 25 );
 
function true_remove_2_options( $option ) {
	delete_option( 'true_option_2' );
}

deleted_option

Хук практически полностью идентичен хуку delete_option_{$option} и срабатывает сразу после него, единственное исключение, что в названии хука не присутствует название добавляемой опции.

do_action( 'deleted_option', $option );

Попробуем переделать предыдущий пример под этот хук.

add_action( 'deleted_option', 'true_remove_2_options', 25 );
 
function true_remove_2_options( $option ) {
	if( 'true_option' === $option ) {
		delete_option( 'true_option_2' );
	}
}
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии