delete_transient()WP 2.8.0

Удаляет временную опцию.

Хуки из функции

Возвращает

true|false. Логические true или false, в зависимости от того удалось ли удалить опцию.

Использование

delete_transient( $transient );
$transient(строка) (обязательный)
Название временной опции. Передаваемое значение не будет очищаться от SQL инъекций (строка не будет экранирована слэшами).

Примеры

-1

#1 Очистим временные опции

Удалим временные опции через хук edit_term:

// Создадим простую функцию для удаления нашей временной опции
function edit_term_delete_transient() {
	 delete_transient( 'special_query_results' );
}
// Добавим эту функцию к событию edit_term, которое срабатывает когда категория или метка редактируются
add_action( 'edit_term', 'edit_term_delete_transient' );

В этом примере подразумевается, что во временную опцию special_query_results записывается результат SQL запроса и затем просто от туда извлекается, до тех пор пока мы не отредактируем метку или категорию. Тогда запрос пересохранится.

Список изменений

С версии 2.8.0 Введена.

Код delete_transient() WP 6.5.2

function delete_transient( $transient ) {

	/**
	 * Fires immediately before a specific transient is deleted.
	 *
	 * The dynamic portion of the hook name, `$transient`, refers to the transient name.
	 *
	 * @since 3.0.0
	 *
	 * @param string $transient Transient name.
	 */
	do_action( "delete_transient_{$transient}", $transient );

	if ( wp_using_ext_object_cache() || wp_installing() ) {
		$result = wp_cache_delete( $transient, 'transient' );
	} else {
		$option_timeout = '_transient_timeout_' . $transient;
		$option         = '_transient_' . $transient;
		$result         = delete_option( $option );

		if ( $result ) {
			delete_option( $option_timeout );
		}
	}

	if ( $result ) {

		/**
		 * Fires after a transient is deleted.
		 *
		 * @since 3.0.0
		 *
		 * @param string $transient Deleted transient name.
		 */
		do_action( 'deleted_transient', $transient );
	}

	return $result;
}