I recently edited a post on a Wordpress blog and discovered that trying to change the publish time (to bring an old post up to the top of the list) created a temporary world of pain.

If the scheduled time is missed there is no way to change the post to ‘publish immediately’ from scheduled. This leaves the post as scheduled, and won’t actually re-post it no matter what you do (including setting a future time).

A quick fix is to update the post directly in the database.

Find the post you want (make sure it’s the parent post, anything with a post_status of ‘inherit’ is a ‘child’ post, or update to the original, you want the first post of its kind with a post_status of ‘future’) by selecting on the post_title, and once you’ve got the ID of the post, simply set the post_status to ‘publish’ and it will appear at the time you originally set it to be scheduled for. For example…

update wp_posts set post_status='publish' where ID='8';