Wordpress Hook Pre Post Update

2020-07-17 05:01发布

问题:

I am writing a wordpress plugin. I would like to to set the post status to publish if post status is future.

I know one hook that is to be used that is pre_post_update.

However where is the array of post related details stored so that I can change the post_status?

Thanks for the help

回答1:

The function that calls the pre_post_update hook appears on line 1525 of wp-includes/posts.php for me:

do_action( 'pre_post_update', $post_ID );

As you can see, it passes the ID of the post being updated when it is executed. To get the post from there, you would just call get_post(), e.g.:

function do_something_with_a_post($post_id, $post_data) {
     // now do something with $post_data
}
add_action('pre_post_update', 'do_something_with_a_post', 10, 2);

The $post variable above should reference an object with all of the various attributes about a post you are looking for, hopefully.