WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

get_site_transient() WP 2.9.0

Получает значение временной опции главного сайта сети.

Если на сайте используется объектное кэширование, то временные опции будут получены из кэша, в противном случае данные берутся с помощью get_site_option() (см. логику работы в описании).

Используйте функцию get_transient(), когда нужно получить временную опцию текущего сайта, а не основного сайта сети.

Отличие get_transient() от get_site_transient() такое же как между get_option() и get_network_option().

Возвращает

false/значение.

  • false возвращается в следующих случаях:

    • если временной опции не существует
    • или она имеет пустое значение
    • или она просрочена.
  • В других случаях возвращает полученное значение опции.

Заметка: возвращаемый false нужно проверять тождественным равенством (===), а не обычным двойным равенством, потому что в значении опции может находится 0 или пустая строка, пустой массив. По этой же причине, не нужно сохранять в значение опции false, сохраняйте вместо этого 0 или поместите false в массив.

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

get_site_transient( $transient );
$transient(строка) (обязательный)
Название временной опции.

Примеры

#1 Пример использования

Допустим у нас есть данные, которые используются на всех сайтах сети. Эти данные нужно получать по HTTP запросу из другого сайта, поэтому этот запрос хорошо бы закэшировать. Для такой цели хорошо подойдет эта функцию. Ниже показана логика такого кода:

$transient   = 'some_trans_name';
$remote_data = get_site_transient( $transient );

if( false === $remote_data ){
	$remote_data = file_get_contents( 'http://dom.ru/promo/yith-promo.xml' );
}

if( $remote_data ){
	set_site_transient( $transient, $remote_data, WEEK_IN_SECONDS );
}

Заметки

  • Смотрите: get_transient()

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

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

Код get site transient: wp-includes/option.php WP 5.5

<?php
function get_site_transient( $transient ) {

	/**
	 * Filters the value of an existing site transient before it is retrieved.
	 *
	 * The dynamic portion of the hook name, `$transient`, refers to the transient name.
	 *
	 * Returning a truthy value from the filter will effectively short-circuit retrieval
	 * and return the passed value instead.
	 *
	 * @since 2.9.0
	 * @since 4.4.0 The `$transient` parameter was added.
	 *
	 * @param mixed  $pre_site_transient The default value to return if the site transient does not exist.
	 *                                   Any value other than false will short-circuit the retrieval
	 *                                   of the transient, and return that value.
	 * @param string $transient          Transient name.
	 */
	$pre = apply_filters( "pre_site_transient_{$transient}", false, $transient );

	if ( false !== $pre ) {
		return $pre;
	}

	if ( wp_using_ext_object_cache() ) {
		$value = wp_cache_get( $transient, 'site-transient' );
	} else {
		// Core transients that do not have a timeout. Listed here so querying timeouts can be avoided.
		$no_timeout       = array( 'update_core', 'update_plugins', 'update_themes' );
		$transient_option = '_site_transient_' . $transient;
		if ( ! in_array( $transient, $no_timeout, true ) ) {
			$transient_timeout = '_site_transient_timeout_' . $transient;
			$timeout           = get_site_option( $transient_timeout );
			if ( false !== $timeout && $timeout < time() ) {
				delete_site_option( $transient_option );
				delete_site_option( $transient_timeout );
				$value = false;
			}
		}

		if ( ! isset( $value ) ) {
			$value = get_site_option( $transient_option );
		}
	}

	/**
	 * Filters the value of an existing site transient.
	 *
	 * The dynamic portion of the hook name, `$transient`, refers to the transient name.
	 *
	 * @since 2.9.0
	 * @since 4.4.0 The `$transient` parameter was added.
	 *
	 * @param mixed  $value     Value of site transient.
	 * @param string $transient Transient name.
	 */
	return apply_filters( "site_transient_{$transient}", $value, $transient );
}

Cвязанные функции

Из метки: _transient (временные опции)

Еще из раздела: Опции Мультисайт

  • Pornopika.mobi

    На pornopika.mobi самые лучшие видео бесплатно

    pornopika.mobi

Комментариев нет