Basically, WordPress has it’s own Cron job that helps with automation of some processes, like posts scheduling or similar. It’s not actually a real Cron job like the ones that are executing on server periodically, yet it’s just a simulation of the real Cron job.
Why I got Missing Schedule error
Something you can come across the issue with Cron job not executing its operations properly. The reason for this is almost always related to the caching process as the Cron job for scheduling the posts is actually not timed as the real Cron job, yet it waits for user to visit the website and then it checks for the posts status and if the post is scheduled before that time, then the post is marked as published and become visible. Caching plugin tend to make the static HTML files out of your code and thus they serve the statically and already generated content and skips the check for post statuses.
Fix Missing scheduled posts using Scheduled posts Trigger plugin
If you don’t want to mess about with setting up the real Cron that will work separately and execute, you can install Scheduled posts Trigger plugin. This plugin should set the trigger that will be automatically executed without the need of user accessing the website like in the default WordPress behavior.
Create WordPress Cron job in cPanel
You can also resolve this problem by setting up the real Cron job on your web server that will execute in the desired time frame and repeat endlessly. In order to setup the cronjob, the first thing you need to do is to edit your wp-config.php file that is located inside your root website folder and add this line of code:
Then you need to log into your cPanel and find the Cron job setting option. See image:
Once you access the Cron job setup page, just populate the needed fields like in the provided image below:
Now, you need to enter your email address and select the option “Twice per hour” from the drop down menu. The last step is to enter the command that will be executed every half hour and it should match the real path to your WordPress installation. On this example, it points out on the user that has the WordPress installed in their main public_html folder. If you are using cPanel, then just replace the “yourcpanelusername” instance with your cPanel username and click on the New Cron job button and save it.
So, both of this approaches should help you in resolving and fixing the Missing scheduled posts issues that affect some users with the caching plugins installed. On the other hand, you can just go with setting up real WordPress Cron job in cPanel in this way you will have your WordPress Cron jobs executed without the possible conflict with caching plugins or stuff like that.