Create Cron Job function in Wordpress plugin
Step 1: Register function on plugin activate
register_activation_hook(__FILE__, 'activate_one');
Step 2: add_filter function for interval
//Filter for Adding multiple intervals
add_filter( 'cron_schedules', 'intervals_schedule' );
// define interval function
function intervals_schedule($schedules) {
$schedules['everyminute'] = array(
'interval' => 60, // Every 1 minutes
'display' => __( 'Every 1 minutes' )
);
return $schedules;
}
Step 3: Activate hook function
//Schedule a first action if it's not already scheduled
function activate_one() {
if (!wp_next_scheduled('wpyog_cron_action')) {
wp_schedule_event( time(), 'everyminute', 'wpyog_cron_action');
}
}
Step 4: Cron hook function
//Hook into that action that'll fire after 1 minutes
add_action('wpyog_cron_action', 'execute_one');
function execute_one()
{
global $wpdb;
$to = "psudhir20@gmail.com";
$subject = "Wordpress Cron Test";
$body = "This cron is runing after each 30 minutes \n\n";
$body .= "Player Name = Sudhir\n";
$body .= "Injury Status = Fit\n";
$body .= "Description = Available\n";
$headers = array(
'Reply-To' => " Sudhir <er.sudhir2487@gmail.com>"
);
wp_mail($to, $subject, $body,$headers);
}
Step 5: Stop cron after deactivation
register_deactivation_hook(__FILE__, 'my_deactivation');
function my_deactivation() {
wp_clear_scheduled_hook('wpyog_cron_action');
}
/** End Cron Job */
Step 6: Set in config file
define('ALTERNATE_WP_CRON', true);
Step 1: Register function on plugin activate
register_activation_hook(__FILE__, 'activate_one');
Step 2: add_filter function for interval
//Filter for Adding multiple intervals
add_filter( 'cron_schedules', 'intervals_schedule' );
// define interval function
function intervals_schedule($schedules) {
$schedules['everyminute'] = array(
'interval' => 60, // Every 1 minutes
'display' => __( 'Every 1 minutes' )
);
return $schedules;
}
Step 3: Activate hook function
//Schedule a first action if it's not already scheduled
function activate_one() {
if (!wp_next_scheduled('wpyog_cron_action')) {
wp_schedule_event( time(), 'everyminute', 'wpyog_cron_action');
}
}
Step 4: Cron hook function
//Hook into that action that'll fire after 1 minutes
add_action('wpyog_cron_action', 'execute_one');
function execute_one()
{
global $wpdb;
$to = "psudhir20@gmail.com";
$subject = "Wordpress Cron Test";
$body = "This cron is runing after each 30 minutes \n\n";
$body .= "Player Name = Sudhir\n";
$body .= "Injury Status = Fit\n";
$body .= "Description = Available\n";
$headers = array(
'Reply-To' => " Sudhir <er.sudhir2487@gmail.com>"
);
wp_mail($to, $subject, $body,$headers);
}
Step 5: Stop cron after deactivation
register_deactivation_hook(__FILE__, 'my_deactivation');
function my_deactivation() {
wp_clear_scheduled_hook('wpyog_cron_action');
}
/** End Cron Job */
Step 6: Set in config file
define('ALTERNATE_WP_CRON', true);
thank yo sidhu, this is helpfull.
ReplyDeleteThanks Satyam. If you have any query, you can place here
DeleteThank you,This code is easy to understand and use.........
ReplyDeleteThanks Rishika. If you have any query, you can place here
Delete