Having difficulties with WP cron

You can add debugging statements to your code to verify if the cron job is being scheduled and executed correctly. like you can use error_log() to log messages to the PHP error log: public function schedule_event() { if (!wp_next_scheduled(‘redirection_checker_hook’)) { error_log(‘Scheduling redirection_checker_hook’); wp_schedule_event(time(), ‘every_three_minutes’, ‘redirection_checker_hook’); } } public function redirection_checker_func() { error_log(‘Running redirection_checker_func’); update_option(‘test_option’, ‘success’); … Read more

Cronjobs at night – but not the rest of the day

To achieve the behavior you’re describing in WordPress, where a cron job runs hourly but only between 2 AM and 5 AM, you have a couple of options. While WordPress doesn’t offer this level of specificity in its default scheduling, you can customize it to suit your needs. Custom Cron Scheduling: This involves creating a … Read more

‘wp_site_health_scheduled_check’ Causes Failure Of Other Scripts

First, turn on WP_DEBUG to get a log of the issue. In your wp-config.php you can add something like: define(‘WP_DEBUG’, true); //record all the errors define(‘WP_DEBUG_LOG’,__DIR__.’/wp-content/.wp-debug.log’); //you may want to move this to a more secure location (outside of the web root) define(‘WP_DEBUG_DISPLAY’, false); //don’t show errors on the front end Second, depending on your … Read more

wp_schedule_event with dynamic names but same function

This is what the 4th parameter, $args is for. Use a single name for the event and pass the unique name as an argument. public function schedule($interval, $event): void { $args = array($event); if (! \wp_next_scheduled(‘my_scheduled_event’, $args)) { \wp_schedule_event(time(), $interval, ‘my_scheduled_event’, $args); } } Then you can have a single callback function that has access … Read more