Hook when post is set from published to draft?

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.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 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.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x