Title: set_transient
Published: April 25, 2014
Last modified: April 28, 2025

---

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

## In this article

 * [Description](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#return)
 * [More Information](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#more-information)
 * [Source](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#user-contributed-notes)

[ Back to top](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#wp--skip-link--target)

Sets/updates the value of a transient.

## 󠀁[Description](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#description)󠁿

You do not need to serialize values. If the value needs to be serialized, then it
will be serialized before it is set.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#parameters)󠁿

 `$transient`stringrequired

Transient name. Expected to not be SQL-escaped.
 Must be 172 characters or fewer
in length.

`$value`mixedrequired

Transient value. Must be serializable if non-scalar.
 Expected to not be SQL-escaped.

`$expiration`intoptional

Time until expiration in seconds. Default 0 (no expiration).

## 󠀁[Return](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#return)󠁿

 bool True if the value was set, false otherwise.

## 󠀁[More Information](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#more-information)󠁿

For parameter `$transient`, if memcached is not enabled the name should be 172 characters
or less in length as WordPress will prefix your name with “_transient_” or “_transient_timeout_”
in the options table (depending on whether it expires or not). Longer key names 
will silently fail. See [Trac #15058](https://core.trac.wordpress.org/ticket/15058).

If a transient exists, this function will update the transient’s expiration time.

NB: transients that never expire are autoloaded, whereas transients with an expiration
time are not autoloaded. Consider this when adding transients that may not be needed
on every page, and thus do not need to be autoloaded, impacting page performance.

WordPress provides some constants for specifying time in seconds. Instead of multiplying
out integers, see [Transients_API#Using_Time_Constants](https://codex.wordpress.org/Transients_API#Using_Time_Constants).

Transient key names are limited to 191 characters due to the database schema in 
the wp_options table ( option_name: varchar(191) ).

In WordPress versions previous to 4.4, the length limitation was 45 in set_transient(
now 172) and 64 in the database (now 191).

## 󠀁[Source](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#source)󠁿

    ```php
    function set_transient( $transient, $value, $expiration = 0 ) {

    	$expiration = (int) $expiration;

    	/**
    	 * Filters a specific transient before its value is set.
    	 *
    	 * The dynamic portion of the hook name, `$transient`, refers to the transient name.
    	 *
    	 * @since 3.0.0
    	 * @since 4.2.0 The `$expiration` parameter was added.
    	 * @since 4.4.0 The `$transient` parameter was added.
    	 *
    	 * @param mixed  $value      New value of transient.
    	 * @param int    $expiration Time until expiration in seconds.
    	 * @param string $transient  Transient name.
    	 */
    	$value = apply_filters( "pre_set_transient_{$transient}", $value, $expiration, $transient );

    	/**
    	 * Filters the expiration for a 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 transient.
    	 * @param string $transient  Transient name.
    	 */
    	$expiration = apply_filters( "expiration_of_transient_{$transient}", $expiration, $value, $transient );

    	if ( wp_using_ext_object_cache() || wp_installing() ) {
    		$result = wp_cache_set( $transient, $value, 'transient', $expiration );
    	} else {
    		$transient_timeout = '_transient_timeout_' . $transient;
    		$transient_option  = '_transient_' . $transient;
    		wp_prime_option_caches( array( $transient_option, $transient_timeout ) );

    		if ( false === get_option( $transient_option ) ) {
    			$autoload = true;
    			if ( $expiration ) {
    				$autoload = false;
    				add_option( $transient_timeout, time() + $expiration, '', false );
    			}
    			$result = add_option( $transient_option, $value, '', $autoload );
    		} else {
    			/*
    			 * If expiration is requested, but the transient has no timeout option,
    			 * delete, then re-create transient rather than update.
    			 */
    			$update = true;

    			if ( $expiration ) {
    				if ( false === get_option( $transient_timeout ) ) {
    					delete_option( $transient_option );
    					add_option( $transient_timeout, time() + $expiration, '', false );
    					$result = add_option( $transient_option, $value, '', false );
    					$update = false;
    				} else {
    					update_option( $transient_timeout, time() + $expiration );
    				}
    			}

    			if ( $update ) {
    				$result = update_option( $transient_option, $value );
    			}
    		}
    	}

    	if ( $result ) {

    		/**
    		 * Fires after the value for a specific transient has been set.
    		 *
    		 * The dynamic portion of the hook name, `$transient`, refers to the transient name.
    		 *
    		 * @since 3.0.0
    		 * @since 3.6.0 The `$value` and `$expiration` parameters were added.
    		 * @since 4.4.0 The `$transient` parameter was added.
    		 *
    		 * @param mixed  $value      Transient value.
    		 * @param int    $expiration Time until expiration in seconds.
    		 * @param string $transient  The name of the transient.
    		 */
    		do_action( "set_transient_{$transient}", $value, $expiration, $transient );

    		/**
    		 * Fires after the value for a transient has been set.
    		 *
    		 * @since 6.8.0
    		 *
    		 * @param string $transient  The name of the transient.
    		 * @param mixed  $value      Transient value.
    		 * @param int    $expiration Time until expiration in seconds.
    		 */
    		do_action( 'set_transient', $transient, $value, $expiration );

    		/**
    		 * Fires after the transient is set.
    		 *
    		 * @since 3.0.0
    		 * @since 3.6.0 The `$value` and `$expiration` parameters were added.
    		 * @deprecated 6.8.0 Use 'set_transient' instead.
    		 *
    		 * @param string $transient  The name of the transient.
    		 * @param mixed  $value      Transient value.
    		 * @param int    $expiration Time until expiration in seconds.
    		 */
    		do_action_deprecated( 'setted_transient', array( $transient, $value, $expiration ), '6.8.0', 'set_transient' );
    	}

    	return $result;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/option.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/option.php#L1509)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/option.php#L1509-L1622)

## 󠀁[Hooks](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#hooks)󠁿

 [apply_filters( “expiration_of_transient_{$transient}”, int $expiration, mixed $value, string $transient )](https://developer.wordpress.org/reference/hooks/expiration_of_transient_transient/)

Filters the expiration for a transient before its value is set.

 [apply_filters( “pre_set_transient_{$transient}”, mixed $value, int $expiration, string $transient )](https://developer.wordpress.org/reference/hooks/pre_set_transient_transient/)

Filters a specific transient before its value is set.

 [do_action_deprecated( ‘setted_transient’, string $transient, mixed $value, int $expiration )](https://developer.wordpress.org/reference/hooks/setted_transient/)

Fires after the transient is set.

 [do_action( ‘set_transient’, string $transient, mixed $value, int $expiration )](https://developer.wordpress.org/reference/hooks/set_transient/)

Fires after the value for a transient has been set.

 [do_action( “set_transient_{$transient}”, mixed $value, int $expiration, string $transient )](https://developer.wordpress.org/reference/hooks/set_transient_transient/)

Fires after the value for a specific transient has been set.

## 󠀁[Related](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#related)󠁿

| Uses | Description | 
| [wp_prime_option_caches()](https://developer.wordpress.org/reference/functions/wp_prime_option_caches/)`wp-includes/option.php` |

Primes specific options into the cache with a single database query.

  | 
| [do_action_deprecated()](https://developer.wordpress.org/reference/functions/do_action_deprecated/)`wp-includes/plugin.php` |

Fires functions attached to a deprecated action hook.

  | 
| [wp_installing()](https://developer.wordpress.org/reference/functions/wp_installing/)`wp-includes/load.php` |

Checks or sets whether WordPress is in “installation” mode.

  | 
| [wp_cache_set()](https://developer.wordpress.org/reference/functions/wp_cache_set/)`wp-includes/cache.php` |

Saves the data to the cache.

  | 
| [wp_using_ext_object_cache()](https://developer.wordpress.org/reference/functions/wp_using_ext_object_cache/)`wp-includes/load.php` |

Toggles `$_wp_using_ext_object_cache` on and off without directly touching global.

  | 
| [add_option()](https://developer.wordpress.org/reference/functions/add_option/)`wp-includes/option.php` |

Adds a new option.

  | 
| [delete_option()](https://developer.wordpress.org/reference/functions/delete_option/)`wp-includes/option.php` |

Removes an option by name. Prevents removal of protected WordPress options.

  | 
| [apply_filters()](https://developer.wordpress.org/reference/functions/apply_filters/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to a filter hook.

  | 
| [do_action()](https://developer.wordpress.org/reference/functions/do_action/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to an action hook.

  | 
| [update_option()](https://developer.wordpress.org/reference/functions/update_option/)`wp-includes/option.php` |

Updates the value of an option that was already added.

  | 
| [get_option()](https://developer.wordpress.org/reference/functions/get_option/)`wp-includes/option.php` |

Retrieves an option value based on an option name.

  |

[Show 6 more](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#)

| Used by | Description | 
| [WP_Automatic_Updater::has_fatal_error()](https://developer.wordpress.org/reference/classes/wp_automatic_updater/has_fatal_error/)`wp-admin/includes/class-wp-automatic-updater.php` |

Performs a loopback request to check for potential fatal errors.

  | 
| [wp_add_global_styles_for_blocks()](https://developer.wordpress.org/reference/functions/wp_add_global_styles_for_blocks/)`wp-includes/global-styles-and-settings.php` |

Adds global style rules to the inline style for each block.

  | 
| [clean_dirsize_cache()](https://developer.wordpress.org/reference/functions/clean_dirsize_cache/)`wp-includes/functions.php` |

Cleans directory size cache used by [recurse_dirsize()](https://developer.wordpress.org/reference/functions/recurse_dirsize/) .

  | 
| [WP_Site_Health::wp_cron_scheduled_check()](https://developer.wordpress.org/reference/classes/wp_site_health/wp_cron_scheduled_check/)`wp-admin/includes/class-wp-site-health.php` |

Runs the scheduled event to check and update the latest site health status for the website.

  | 
| [wp_ajax_health_check_site_status_result()](https://developer.wordpress.org/reference/functions/wp_ajax_health_check_site_status_result/)`wp-admin/includes/ajax-actions.php` |

Handles site health check to update the result status via AJAX.

  | 
| [wp_edit_theme_plugin_file()](https://developer.wordpress.org/reference/functions/wp_edit_theme_plugin_file/)`wp-admin/includes/file.php` |

Attempts to edit a file for a theme or plugin.

  | 
| [WP_oEmbed_Controller::get_proxy_item()](https://developer.wordpress.org/reference/classes/wp_oembed_controller/get_proxy_item/)`wp-includes/class-wp-oembed-controller.php` |

Callback for the proxy API endpoint.

  | 
| [install_themes_feature_list()](https://developer.wordpress.org/reference/functions/install_themes_feature_list/)`wp-admin/includes/theme-install.php` |

Retrieves the list of WordPress theme features (aka theme tags).

  | 
| [wp_dashboard_cached_rss_widget()](https://developer.wordpress.org/reference/functions/wp_dashboard_cached_rss_widget/)`wp-admin/includes/dashboard.php` |

Checks to see if all of the feed url in $check_urls are cached.

  | 
| [wp_dashboard_plugins_output()](https://developer.wordpress.org/reference/functions/wp_dashboard_plugins_output/)`wp-admin/includes/deprecated.php` |

Display plugins text for the WordPress news widget.

  | 
| [spawn_cron()](https://developer.wordpress.org/reference/functions/spawn_cron/)`wp-includes/cron.php` |

Sends a request to run cron through HTTP request that doesn’t halt page loading.

  | 
| [wp_rand()](https://developer.wordpress.org/reference/functions/wp_rand/)`wp-includes/pluggable.php` |

Generates a random non-negative number.

  | 
| [wp_maybe_generate_attachment_metadata()](https://developer.wordpress.org/reference/functions/wp_maybe_generate_attachment_metadata/)`wp-includes/media.php` |

Maybe attempts to generate attachment metadata, if missing.

  | 
| [recurse_dirsize()](https://developer.wordpress.org/reference/functions/recurse_dirsize/)`wp-includes/functions.php` |

Gets the size of a directory recursively.

  | 
| [is_multi_author()](https://developer.wordpress.org/reference/functions/is_multi_author/)`wp-includes/author-template.php` |

Determines whether this site has more than one author.

  | 
| [RSSCache::set()](https://developer.wordpress.org/reference/classes/rsscache/set/)`wp-includes/rss.php` |  |

[Show 11 more](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#changelog)󠁿

| Version | Description | 
| [2.8.0](https://developer.wordpress.org/reference/since/2.8.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#user-contributed-notes)󠁿

 1.   [Skip to note 7 content](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#comment-content-3651)
 2.    [crstauf](https://profiles.wordpress.org/crstauf/)  [  6 years ago  ](https://developer.wordpress.org/reference/functions/set_transient/#comment-3651)
 3.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-3651)
     Vote results for this note: 4[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-3651)
 4.  Unless you’re using an external object cache, when using `set_transient()` to 
     update an existing transient that has an existing expiration, not providing an
     expiration value will maintain the existing expiration.
 5.  For example:
 6.      ```php
         $initial = time();
         set_transient( 'foo', 'bar', 300 );
         sleep( 10 );
         $update = time();
         set_transient( 'foo', 'barbar' );
         ```
     
 7.  In this case, the expiration would remain as `$initial + 300` (and not change 
     to `$update + 300`, or never expires), because the second `set_transient()` call
     does not include an `$expiration` value (only the transient’s value is updated).
 8.  Be careful though, because you may unintentionally set a transient to never expire,
     if the transient expired before the second call (without the `$expiration` parameter)
     is made.
 9.   [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%3Freplytocom%3D3651%23feedback-editor-3651)
 10.  [Skip to note 8 content](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#comment-content-292)
 11.   [Nicola Mustone](https://profiles.wordpress.org/nicolamustone/)  [  11 years ago  ](https://developer.wordpress.org/reference/functions/set_transient/#comment-292)
 12. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-292)
     Vote results for this note: 3[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-292)
 13. This example shows how to set a transient with the latest five blog posts. It 
     expires after one day.
      It uses [time constants](https://codex.wordpress.org/Easier_Expression_of_Time_Constants)
     to set the expiration time.
 14.     ```php
         // Set the arguments for the custom query
         $args = array(
             'post_type'      => 'post',
             'posts_per_page' => 5,
             'orderby'        => 'date',
             'order'          => 'DESC'
         );
         $latest_post = new WP_Query( $args );
     
         // Save the results in a transient named latest_5_posts
         set_transient( 'latest_5_posts', $latest_post, DAY_IN_SECONDS );
         ```
     
 15. To know more about how to get posts and custom post type items read the documentation
     of [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/).
 16.  * This might seem like a good idea but caching a `WP_Query` in a transient like
        this will cause a performance hit. This is because [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/)
        bulk fetches the post objects, their terms, and their taxonomies in advance
        into WP_Cache to avoid database queries. But when the transient is used and
        [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/) is 
        recreated, none of that has happened. As a result WordPress has to pause constantly
        to make small database queries to fetch the post meta and terms that were previously
        cached. Instead store the result as an array of post IDs. Post IDs are super
        fast to fetch and may even be in WP_Cache already. After all the most expensive
        part of the query is figuring out which post IDs match the desired results.
      * [Tom J Nowell](https://profiles.wordpress.org/tjnowell/) [5 years ago](https://developer.wordpress.org/reference/functions/set_transient/#comment-5287)
 17.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%3Freplytocom%3D292%23feedback-editor-292)
 18.  [Skip to note 9 content](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#comment-content-670)
 19.   [Codex](https://profiles.wordpress.org/codex/)  [  11 years ago  ](https://developer.wordpress.org/reference/functions/set_transient/#comment-670)
 20. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-670)
     Vote results for this note: 2[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-670)
 21. Saving the $special_query_results object for 12 hours
 22.     ```php
         set_transient( 'special_query_results', $special_query_results, 12 * HOUR_IN_SECONDS );
         ```
     
 23.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%3Freplytocom%3D670%23feedback-editor-670)
 24.  [Skip to note 10 content](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#comment-content-5457)
 25.   [Lovekesh Kumar](https://profiles.wordpress.org/thelovekesh/)  [  4 years ago  ](https://developer.wordpress.org/reference/functions/set_transient/#comment-5457)
 26. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-5457)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-5457)
 27. WordPress saves the transients expiration time in the form of a UNIX timestamp.
     When you look for the
 28.     ```php
         _transient_timeout_{$transient}
         ```
     
 29.  option name in the options table of WordPress, it will look like **1636453079**
     which is in UNIX timestamp not in seconds.
      [See the code on GitHub](https://github.com/WordPress/wordpress-develop/blob/5.8.1/src/wp-includes/option.php#L929-L932)
 30.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%3Freplytocom%3D5457%23feedback-editor-5457)
 31.  [Skip to note 11 content](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#comment-content-7421)
 32.   [OllieJones](https://profiles.wordpress.org/olliejones/)  [  6 months ago  ](https://developer.wordpress.org/reference/functions/set_transient/#comment-7421)
 33. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-7421)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-7421)
 34. Beware! When you use a [persistent object cache plugin](https://developer.wordpress.org/reference/classes/wp_object_cache/#persistent-cache-plugins),
     WordPress core stores transients in that persistent object cache, not in the wp_options
     table.
 35. Avoid the mistake of setting a transient by using the update_option API, or by
     writing something directly into the options table.
 36.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%3Freplytocom%3D7421%23feedback-editor-7421)
 37.  [Skip to note 12 content](https://developer.wordpress.org/reference/functions/set_transient/?output_format=md#comment-content-4886)
 38.   [Vishnu Gopal](https://profiles.wordpress.org/vishnugopal/)  [  5 years ago  ](https://developer.wordpress.org/reference/functions/set_transient/#comment-4886)
 39. [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-4886)
     Vote results for this note: -24[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%23comment-4886)
 40. Note that `WP_CACHE` has to be true in `wp-config.php` for transients to work:
 41.     ```php
         define('WP_CACHE', true);
         ```
     
 42.  * Correction: **WP_CACHE** is not required to be true for transients to work.
      * [Vijay Hardaha](https://profiles.wordpress.org/vijayhardaha/) [4 years ago](https://developer.wordpress.org/reference/functions/set_transient/#comment-5747)
 43.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F%3Freplytocom%3D4886%23feedback-editor-4886)

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fset_transient%2F)
before being able to contribute a note or feedback.