September 16, 2009

Wordpress Posts Missing Schedule

Filed under: wordpress — Tags: , , , , — sankho @ 1:07 pm

So recently a client had me upgrade their copy of Wordpress from 2.6.something to the latest 2.8.4. Things went fine; themes and plugins didn’t need updating, but the next day I got an email complaning about how the posts weren’t publishing at the times they were set to, and were returning a status in the admin as “missed schedule.”

It took me a LONG time to figure this one out. And I didn’t really figure shit out, but finally found the appropo hack at this forum. Just reposting what you gotta do to get this working; for some reason it’s not posted everywhere. There are some other ways of correcting what’s going on; but if you don’t have root access to your hosting server like I don’t, you gotta figure out a way to make it work with just code. Here’s a line that’ll do it for you; place it in your wp-config.php file.

  1.  
  2. //added for cron posts
  3. define(‘ALTERNATE_WP_CRON’, true);
  4.  

- Taken from Otto32’s comment on the wordpress forum, check it out for a great explanation or read my shittier one below:

Basically, there’s a file called wp-cron.php that’s called everytime wordpress loads, and runs anything that’s scheduled; from the future planning of posts to some plugins that use the schedule feature. Every time someone hits your blog, if it’s been a long enough time since it’s last run, wordpress sends a request to wp-cron.php.

If the posts aren’t publishing, it may be the way your server is reacting to an HTTP request from itself. So you ahve to use a different type of request, by putting the above code into your wp-config.php. There are ways to alter your server to accept requests from itself; but for my client, I didn’t have root access, and only could edit the wordpress code itself. So this fix is certainly better than others.

Let me know if it helped.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • StumbleUpon
  • Technorati
  • Twitter