Basically that's the question - I wonder if set_transient() overwrites/updates a transient option with the same key?

3 Answers 3


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."
    – here
    Sep 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.