Basically that's the question - I wonder if set_transient()
overwrites/updates a transient option with the same key?
3 Answers
Yes, key (prefixed with string identifying it as transient) is used as option name when value is inserted in database.
-
Yes. As of 4.3.1, handled in wp-includes/option.php using delete_option() + add_option() or update_option(). If using an external object cache, uses wp_cache_set(), defined by memcached as "The value is set whether or not this key already exists in memcached."– hereSep 22, 2015 at 19:05
Maybe, but in my case set_transient() has failed when re-used without delete_transient() first. For some time I thought the problem was that the array I was saving as a transient was too large but that wasn't it. I recommend that you delete the transient first if you're having a problem.
I would concur with Jorge on the deletion first - I was having issues with set_transient
trying to "overwrite" the same transient. The set_transient
function was updating it, but the return value was false, not true.
A call to delete_transient
with its name just before set_transient
solved my issues and set_transient
would always return true.