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

Pages: [7] 6 5 4 3 2 1 » Show All

  1. After draft schedueler plugin it is a great use to add Catogory selection.. thanx for the plugin

  2. Hey!
    Could it be that your plugin is taking A LOT of server resources? I am having some server issues and it might be concerning your plugin?(not pointing fingers, just investigating).

    Kindest Regards,

  3. Wondering Here When i come here and see it its has been shared on facebook and also on many places it showing really good plugins

    Regards :- Dagmar Bluekens

  4. Hi,Constantine!
    Just go to php file and find this line
    wp_schedule_event( time()+((int)get_option(‘ddsdp_delay’) * 3600), ‘ddsdp_schedule’, ‘ddsdp_publishdraft’ );
    And play with “3600″ number, it’s 1*3600s=1h. I place 300s=5minm Works for me.
    BTW, thanks dev. for this plugin.

  5. 96

    Hello! I was just wondering, is it possible to change the number of hours between the publishing of drafts to minutes instead of hours ? Thank you in advance! Great plugin

  6. 95

    Hello i have little problem, when i create post manulaly rssgraffity post normal to facebook but when i draft post and plugin schedule it and post it not show up on facebook what wrong? any help?

  7. Just wanted to say how much I enjoy the website.

  8. You are so talent!

  9. You are so talent!

  10. I’ll think about what you mentioned in it.

Pages: [7] 6 5 4 3 2 1 » Show All

Leave a Comment

Before you comment: If you are having an issue with a script, please make sure you have read the entire article. Also, please read through the comments because most common issues have already been discussed many times. Thanks.

Be sure to wrap all code in <code></code> tags.