I have similar problem as described in How to trap “Publish” button to check for meta box validation?
Answer there is to hook into save_post
and change post type. How can I do it?
I try to use wp_transition_post_status
but it doesn’t work for me…
function myHook( $post_ID, $post )
{
wp_transition_post_status('pending', $post->post_status, $post );
}
add_action( 'save_post', 'myHook', 10, 2 );
Edit: I have clear wordpress installation without any plugins, additional code and similar
1 Answer
You get the full post object as a second parameter on save_post
. Use it to change the status just like the following code.
add_action( 'save_post', 'wpse_78351_status', 10, 2 );
function wpse_78351_status( $post_ID, $post )
{
remove_filter( current_filter(), __FUNCTION__ );
if ( 'trash' !== $post->post_status ) //adjust the condition
{
$post->post_status="draft"; // use any post status
wp_update_post( $post );
}
}
See this answer for a list of post statuses.