Is there an action i can hook into when a post is set from published back to draft? I have tried both transition_post_status and publish_to_draft but they don't seem to work when I set the post back to draft. I am doing something like:

 add_action('publish_to_draft', 'doStuff')
 function doStuff() {
   // do stuff here

Maybe there is something I am missing, but I wanted to check that these are the correct hooks to use.

1 Answer 1


Yes, these are probably the right calls to use for what you want.

I just checked this by adding this to my functions.php:

add_action('publish_to_draft', 'doStuff');

function doStuff() {
    update_option('foo', 'bar1');

Then using the quick edit in the posts list to change a published post to draft, and this hook definitely ran at that point and set this option in the database.

Note that if you echo something from this hook, or expect to see something output to your browser you likely won't see it, and you might cause an error as this might be being called via an ajax type call.

  • Thanks! That worked. Commented Aug 11, 2020 at 16:14

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.