set_site_transient
Set/update the value of a site transient.
Description
You do not need to serialize values, if the value needs to be serialize, then it will be serialized before it is set.
Parameters (3)
- 0. $transient (string)
- Transient name. Expected to not be SQL-escaped. Must be 40 characters or fewer in length.
- 1. $value (mixed)
- Transient value. Expected to not be SQL-escaped.
- 2. $expiration — Optional. (int)
- Time until expiration in seconds. Default 0 (no expiration).
Usage
if ( !function_exists( 'set_site_transient' ) ) { require_once ABSPATH . WPINC . '/option.php'; } // Transient name. Expected to not be SQL-escaped. Must be // 40 characters or fewer in length. $transient = ''; // Transient value. Expected to not be SQL-escaped. $value = null; // Optional. Time until expiration in seconds. Default 0 (no expiration). $expiration = -1; // NOTICE! Understand what this does before running. $result = set_site_transient($transient, $value, $expiration);
Defined (1)
The function is defined in the following location(s).
- /wp-includes/option.php
- function set_site_transient( $transient, $value, $expiration = 0 ) {
- /**
- * Filters the value of a specific site transient before it is set.
- *
- * The dynamic portion of the hook name, `$transient`, refers to the transient name.
- *
- * @since 3.0.0
- * @since 4.4.0 The `$transient` parameter was added.
- *
- * @param mixed $value New value of site transient.
- * @param string $transient Transient name.
- */
- $value = apply_filters( "pre_set_site_transient_{$transient}", $value, $transient );
- $expiration = (int) $expiration;
- /**
- * Filters the expiration for a site transient before its value is set.
- *
- * The dynamic portion of the hook name, `$transient`, refers to the transient name.
- *
- * @since 4.4.0
- *
- * @param int $expiration Time until expiration in seconds. Use 0 for no expiration.
- * @param mixed $value New value of site transient.
- * @param string $transient Transient name.
- */
- $expiration = apply_filters( "expiration_of_site_transient_{$transient}", $expiration, $value, $transient );
- if ( wp_using_ext_object_cache() ) {
- $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 ) {
- /**
- * Fires after the value for a specific site transient has been set.
- *
- * The dynamic portion of the hook name, `$transient`, refers to the transient name.
- *
- * @since 3.0.0
- * @since 4.4.0 The `$transient` parameter was added
- *
- * @param mixed $value Site transient value.
- * @param int $expiration Time until expiration in seconds.
- * @param string $transient Transient name.
- */
- do_action( "set_site_transient_{$transient}", $value, $expiration, $transient );
- /**
- * Fires after the value for a site transient has been set.
- *
- * @since 3.0.0
- *
- * @param string $transient The name of the site transient.
- * @param mixed $value Site transient value.
- * @param int $expiration Time until expiration in seconds.
- */
- do_action( 'setted_site_transient', $transient, $value, $expiration );
- }
- return $result;
- }