Pause WP-Cron Outside Production
Stops scheduled tasks from running on local, development and staging copies of the site, so a cloned database does not send newsletters, sync orders or run backups twice.
Opens WPIDE on
Code
add_filter( 'pre_get_ready_cron_jobs', function ( $jobs ) {
if ( 'production' === wp_get_environment_type() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
return $jobs;
}
return array(); // Nothing is due, so wp-cron.php does nothing.
} );
Notes
It relies on WP_ENVIRONMENT_TYPE in wp-config.php; tasks still run if you trigger them manually with WP-CLI.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.