Run WordPress Plugin in the Specified time

As you mentioned, WordPress by default only runs the wp_cron when the WordPress site is visited. This of course will cause problems if you are needing to schedule some event reliably, and you aren’t getting consistent traffic to your site.

To resolve this, you can disable the default functionality of the wordpress cron by adding the following line to your wp-config.php file:

define('DISABLE_WP_CRON', true);

After the default cron is disabled, you can then add a normal Unix Cron on your machine (your webhost or your local computer, whichever environment you are running this site on) to load the wp-cron.php for your domain on a regular interval. You would add a cron with something like this (replacing the domain with your own):

/15 * * * wget -q -O – http://yourdomain.com/wp-cron.php?doing_wp_cron

This will cause your WordPress site to run the cron every 15 minutes, independent of traffic loading your page.

How to set up a Linux/Unix Cron:

How to set up a Cron with cPanel or Plesk: