Фильтр wp_insert_post_data может сделать это:
add_filter( 'wp_insert_post_data' , 'filter_post_data' , '99', 2 );
function filter_post_data( $data , $postarr ) {
// Change post status if empty post title
if( empty($data['post_title']) ) {
$data['post_status'] = 'draft';
}
return $data;
}