I’ve encountered issues with WordPress missing scheduled posts and not sending them online on various photography related websites that I run or am involved with. The ‘Missing Schedule’ issue is not unknown and mistakingly sometimes called a bug of WordPress. Various solutions have been proposed and I’ve discussed them here, to some extent.
As many others, I struggled quite a bit in understanding what’s behind and how to best handle it. Initially, when contacting the support of one of my webhosters, I got the answer that they cannot help with application specific issues, which is a very typical, but understandable. But I finally got his attention when I told them that it’s all running smoothly on hosting accounts with two of his main competitors. And we found the cause:
It’s a server-side setting issue. Overly secure server settings might prevent WordPress from accessing it’s own cron-like functions. WordPress needs to call back to itself and on this particular webhoster (not the one running this blog here) mod_secure was loaded with PHP. After deactivating it, it all worked fine. If you can’t get your hoster to change this, you probably have to go the define(‘ALTERNATE_WP_CRON’, true); way, described in my previous post.