WordPress has a cron named "delete_expired_transients" as seen in the image below.

enter image description here

In this way, does it clean expired transients daily?

Or is it just giving us action?

Should we clean it ourselves in this way according to the hook?

add_action('delete_expired_transients', 'my_custom_fn');

function my_custom_fn()

See also: delete_expired_transients()


Yes, delete_expired_transients is a cron event that runs once per day and the function delete_expired_transients() is automatically called when the cron event runs — see wp-includes/default-filters.php. So you do not need to call the function manually like you did in your my_custom_fn() function.

And if you use a plugin like WP Crontrol, you can easily view the cron events in your site and the actions (functions) that will be called when a specific cron event runs.

  • 1
    Thank you for this nice and descriptive answer. I don't use any plugins so this answer is pretty good enough for me. Thanks.
    – BOZ
    Feb 21 '21 at 19:05
  • So if I ask you a specific question, I wonder if I create a function that performs other functions on a daily basis with the delete_expired_transients hook. Does this break the routine of WordPress? Or should I create my own cron?
    – BOZ
    Feb 21 '21 at 19:12
  • 3
    delete_expired_transients is just a cron event like any other events, so you may add your own action to the event. But depending on what your action does or is for, you might better off use your own cron event instead. You could also remove the default action and call it manually in your function, along with other actions, if you must or just need to.
    – Sally CJ
    Feb 21 '21 at 19:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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