我创建了自定义帖子类型,这些帖子类型也具有我创建的自定义 meta_boxes。目前,当我发布或更新帖子时它们会保存,但当我处于草稿模式进行更改时它们不会保存。
add_action('save_post', 'save_details');
function save_details($post_id){
global $post;
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
return $post_id;
}
if ($post->post_type == 'events') { // Check to see if Event Type.
update_post_meta($post->ID, "event_featuring", $_POST["event_featuring"]);
update_post_meta($post->ID, "event_time", $_POST["event_time"]);
update_post_meta($post->ID, "event_date", $_POST["event_date"]);
update_post_meta($post->ID, "event_end_date", $_POST["event_end_date"]);
update_post_meta($post->ID, "event_location", $_POST["event_location"]);
update_post_meta($post->ID, "empid", $_POST["empid"]);
update_post_meta($post->ID, "bhs_event", $_POST["bhs_event"]);
}
}
我尝试使用 wp_insert_post_data 而不是 save_post,但后来我遇到了相反的问题。它将节省草稿,但发布帖子不再有效。我试着同时打电话给两个,同样的问题。我需要做些什么不同的事情才能更新草稿(在发布之前)并且它会保存?在我切换到 3.1 之前,我很确定这可以正常工作。