Welcome to Dagon Design. In addition to free scripts, WordPress plugins, and articles, we offer a variety of services including custom theme design, plugin creation, and PHP scripting. Contact me for more information.

Version 1.31   Updated Sunday, June 7th, 2009 at 6:18pm

Scheduled Draft Publish Plugin for WordPress

This plugin uses the built-in scheduling feature of WordPress to periodically take a draft post and publish it. You can define the time between occurrences, and choose to have it publish the oldest draft each time, or a random draft. By default, it publishes drafts in any category, but you can define one, or multiple, categories for it to take the drafts from. You can also choose to only publish a draft if it has been more than a set number of hours since the last post


  If you have found this page useful, please consider donating. Thanks!


  • Download the above file, rename it from .txt to .php, and upload it to your plugins directory
  • Enable the plugin
  • Configure the plugin options (under DDSchedDraft)
  • Click the ‘Enable Draft Publish’ button to start

Disabling the Schedule

To stop the schedule, simply click the ‘Disable Draft Publish’ button on the options page.

Change Log

  • 07-07-09 Version 1.31 – Added option to only publish a draft if it has been a set number of hours since the last post was added.
  • 02-22-09 Version 1.3 – Updated to work better in recent WordPress versions. Log file support added, and several other updates. Can also shift posts when no drafts are available. (version number skip is intentional)
  • 08-28-08 Version 1.0 – First release.


Here are the options available in this plugin’s options page in the WordPress admin panel.

Draft Publish Delay

This is the number of hours between the publishing of drafts. The schedule will start as soon as you click the ‘Enable Draft Publish’ button.

Only Publish after X Hours

If used, a draft will only be published automatically if it has been more than this many hours since the last post was added.

Category IDs

If left blank, the plugin will operate on all of your posts. If you enter a comma-separated list of category ID’s, it will only publish drafts in those categories.


If enabled, the plugin will publish a random draft each time the schedule runs. If disabled, it will publish the oldest draft each time.

Shift Posts

If checked, the oldest published post will be re-published as a new post,
ONLY if there are no drafts left to publish.

Log File

Full path on your server where you would like the log saved. You can leave this specific to this blog, or set up a global log for multiple blogs. Leave blank to disable this feature. Be sure to give this file write-access