get_site_transient()

Возвращает либо значение из кэша по указанному ключу, либо 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 );

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.