Возвращает либо значение из кэша по указанному ключу, либо false
, если значения не существует или время действия кэша истекло. Функция работает для сети WordPress Multisite.
Про транзиты у меня на сайте есть отдельный урок с видео.
get_site_transient( $transient )
Параметры функции get_site_transient()
- $transient
- Ключ. По длине должен быть 170 символов или меньше, так как WordPress добавляет ещё префиксы
_site_transient_
и_site_transient_timeout_
при сохранении их в таблицу опций в базе данных. Более длинные ключи будут фейлиться без каких-либо уведомлений или ошибок.
Пример
// получаем данные из транзитного кэша if ( false === ( $true_file = get_site_transient( 'true_file_cache' ) ) ) { $true_file = file_get_contents( 'https://misha.blog/menu.xml' ); set_site_transient( 'true_file_cache', $true_file ); // сохраняем в транзит } // дальше делаем всё, как обычно
Значение из транзитного кэша нужно проверять оператором ===
, потому что вероятно, что 0 или пустые строки вы можете захотеть закэшировать иногда.
pre_site_transient_{$transient}
Рекомендую мой видеоурок про то, как работать с фильтрами.
Позволяет перезаписать значение транзита ещё до его получения из кэша. Например давайте для ключа my-custom-cache
всегда возвращать привет
.
add_filter( 'pre_site_transient_my-custom-cache', function( $value, $key ){ return 'привет'; }, 25, 2 );
site_transient_{$transient}
Позволяет перезаписать или изменить значение транзита уже после получения его из кэша.
Обратите внимание, что если вы уже перезаписали его значение хуком pre_site_transient_{$transient}
, то этот хук выполняться не будет!
add_filter( 'site_transient_my-name', function( $value, $key ){ return 'Привет, ' . $value; }, 25, 2 );
Источник: Блог Миши Рудрастых