I have to run a PHP script through real cron (WP cron being too unreliable). Within that script, I need $wpdb to insert data into WordPress table. But of course $wpdb will not be available as WordPress would not be initialized. Right? So, my question is how to 'include' WordPress/initialize WordPress environment to do such tasks? How about require_once("wp-load.php")?
You can use real cron to trigger WP cron - by fetching
wp-cron.php file from root (snippet from quick google search).
That will take care of environment and everything.
2@Affan it completely should. The problem with caching plugins is triggering cron, WP cron file itself it not part of site's front-end and should not be affected by caching plugin.– RarstJul 25, 2011 at 12:55
If you want to trigger any script via cron you can also skip wp-cron (limited functionality anyway) and cron the script directly.
The script have to load the wordpress environment itself if it wants to use wordpress functionality.
A solution to this can be found here : Initialize WordPress environment to use in command line script