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 Tuesday, July 7th, 2009 at 6:18pm

Scheduled Post Shift Plugin for WordPress

This plugin automatically takes your oldest post, and updates its timestamp so that it appears as the latest post on your WordPress site. It does this by utilizing the cron feature built into WordPress 2.1 (and newer). It can rotate all the posts on your site, or just ones in specific categories. You can currently schedule it by setting the number of hours between shifts. For example, set it to 24 hours and it will shift the oldest post every day, at the time that you enabled it. You can also choose to only shift a post 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 DDPostShift)
  • Click the ‘Enable Post Shift’ button to start

Disabling the Schedule

To stop the schedule, simply click the ‘Disable Post Shift’ button on the options page.

Change Log

  • 07-07-09 Version 1.31 – Added option to only shift a post 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.
  • 08-28-08 Version 1.22 – A few bugs fixed. Now supports multiple category rotation.
  • 04-27-08 Version 1.21 – Updated for WordPress 2.5 and to be compatible with WP Security Scan plugin
  • 09-29-07 Version 1.2 – Updated for WordPress 2.3
  • 05-16-07 Version 1.1 – Updated for WordPress 2.2
  • 04-09-07 Version 1.0 – First release


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

Shift Delay

This is the number of hours between post shifts. The schedule will start as soon as you click the ‘Enable Post Shift’ button.

Only Shift after X Hours

If used, a post will only be shifted 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 update posts in those categories.

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