WordPress函数:set_site_transient 设置站点的临时值

江河/ 2023年09月27日/ WordPress/ 浏览 482

函数原型:


set_site_transient( string $transient, mixed $value, int $expiration ): bool


设置站点的临时值。


不需要序列化值。如果需要序列化该值,则会在设置该值之前对其进行序列化。


参数说明:


$transient,临时值的名字。


$value,值。


$expiration,过期时间,单位秒,1000表示1000秒后过期;如果设置为0,表示不过期。


函数源码:


function set_site_transient( $transient, $value, $expiration = 0 ) {
	$value = apply_filters( "pre_set_site_transient_{$transient}", $value, $transient );

	$expiration = (int) $expiration;

	$expiration = apply_filters( "expiration_of_site_transient_{$transient}", $expiration, $value, $transient );

	if ( wp_using_ext_object_cache() || wp_installing() ) {
		$result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
	} else {
		$transient_timeout = '_site_transient_timeout_' . $transient;
		$option            = '_site_transient_' . $transient;

		if ( false === get_site_option( $option ) ) {
			if ( $expiration ) {
				add_site_option( $transient_timeout, time() + $expiration );
			}
			$result = add_site_option( $option, $value );
		} else {
			if ( $expiration ) {
				update_site_option( $transient_timeout, time() + $expiration );
			}
			$result = update_site_option( $option, $value );
		}
	}

	if ( $result ) {
		do_action( "set_site_transient_{$transient}", $value, $expiration, $transient );

		do_action( 'setted_site_transient', $transient, $value, $expiration );
	}

	return $result;
}


包含钩子:


apply_filters( "expiration_of_site_transient_{$transient}", int $expiration, mixed $value, string $transient )

apply_filters( "pre_set_site_transient_{$transient}", mixed $value, string $transient )

do_action( 'setted_site_transient', string $transient, mixed $value, int $expiration )

do_action( "set_site_transient_{$transient}", mixed $value, int $expiration, string $transient )


使用举例:


set_site_transient('name', '张三', 1000);


发表评论

暂无评论,抢个沙发...

客服 工单