I'm using this bit to insert/update a custom post type from the front-end. The date is set from a custom jquery datepicker. if (strtotime($date) < strtotime('tomorrow')) { $newpostdata['post_status'] = 'publish'; } elseif (strtotime($date) > strtotime('today')) { $newpostdata['post_status'] = 'future'; $newpostdata['post_date'] = date('Y-m-d H:i:s', strtotime($date)); } if ('insert' == $operation) { $err = wp_insert_post($newpostdata, true); } elseif ('edit' == $operation) { $newpostdata['ID'] = $post_id; $err = wp_update_post($newpostdata); } **This works** when first publishing the post, setting it correctly as `publish` or `future`, with the correct date. **This doesn't work** when editing the same post, neither from `publish` to `future` nor the other way around. Everything else is properly updated, except for the post status/future_date. *UPDATE*: Actually, `post_date` does change accordingly. But `post_status` seems to be ignored. Any clues?