Call a PHP file from Cronjob

Your best option is probably to first explore your current hosting environment for the possibilities of Cronjobs. It might be called “Scheduled Tasks” or similar. Alternatively you can schedule a task from within WordPress via wp_schedule_event() (though if you’re using the default WP Cron, you can’t be certain of it running at the specified time) … Read more

WP_CRON issue with UTC and local time

It seems you are comparing GMT time with the local time before you update the user meta. Try WP function current_time( $type, $gmt = 0 ); $current_time = current_time(‘timestamp’, 0) // local time $current_time = current_time(‘timestamp’, 1) // GMT time I think you need $current_time = current_time(‘timestamp’, 0) // local time instead of $current_time = … Read more

Most efficient way to trigger wp-cron through system cron.

The official wordpress documentation https://developer.wordpress.org/plugins/cron/hooking-into-the-system-task-scheduler/ suggests doing it via a web request rather as per your first example rather than php CLI as per your second example. Their example uses wget, but your curl request would work just as well. I believe they are using the web request replicates the standard http requests that would … Read more

Cron not sending wp-mail()

You can test if mail has been sent or not using the following: // Set $to as the email you want to send the test to. $to = “[email protected]”; // Email subject and body text. $subject=”wp_mail function test”; $message=”This is a test of the wp_mail function: wp_mail is working.woo!”; $headers=””; // Load WP components, no … Read more

wp delete duplicate entries of custom post types every 15 minutes

Start by ensuring that there is actually a 15min interval available. // create the cron scheduled interval to be used add_filter(‘cron_schedules’,’ex11_cron_schedules’); function ex11_cron_schedules($schedules){ if(!isset($schedules[“15min”])){ $schedules[“15min”] = array( ‘interval’ => 15*60, ‘display’ => __(‘Once every 15 minutes’)); } return $schedules; } Then create a custom WP_Query loop to fetch all the records you need to compare, … Read more

Cron job shedules replace?

This won’t affect your existing scheduled Cron events, as they already have a schedule interval set. It will only add a new custom schedule interval that will be available for new ones. So long as you are adding to the $schedules array and returning it (which you are) then it will all be fine.