Set/update the value of a transient.
You do not need to serialize values. If the value needs to be serialized, then it will be serialized before it is set.
<?php set_transient( $transient, $value, $expiration ); ?>
<?php set_transient( 'special_query_results', $special_query_results, 12 * HOUR_IN_SECONDS ); ?>
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.
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).
set_transient() is located in