Coding Cheatsheets - Learn web development code and tutorials for Software developers which will helps you in project. Get help on JavaScript, PHP, XML, and more.

Post Page Advertisement [Top]

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);

4 comments:

  1. thank yo sidhu, this is helpfull.

    ReplyDelete
    Replies
    1. Thanks Satyam. If you have any query, you can place here

      Delete
  2. Thank you,This code is easy to understand and use.........

    ReplyDelete
    Replies
    1. Thanks Rishika. If you have any query, you can place here

      Delete

Bottom Ad [Post Page]