Reputation: 173
I've been using this WP plugin boilerplate for some time and now I have a problem that I can't seem to solve, so I would appreciate any help.
In includes there's a file called class-plugin-name-activator.php and in it there's a class called Plugin_Name_Activator and a public static function called activate.
I've added wp_schedule_event, like this:
wp_schedule_event( time(), 'daily', 'rs_license_daily_event' );
... in the activate function. Also, I've added two public static functions after activate functions, the first one is calling the other. Let's say the first function name is rs_license_do_daily_event.
Now, I need to use add_action like this:
add_action( 'rs_license_daily_event', 'rs_license_do_daily_event' );
How can I do it so it works?
Also, I'm using a plugin called WP Crontrol to test run the cron manually so I can see if it works.
Upvotes: 1
Views: 505
Reputation: 2820
Inside public static function activate add:
public static function activate() {
$timestamp = wp_next_scheduled( 'rs_license_daily_event' );
if($timestamp == false) {
wp_schedule_event( time(), 'daily', 'rs_license_daily_event' );
}
}
then in admin or public part add: (public part example)
private function define_public_hooks() {
$plugin_public = new Plugin_Name_Public( $this->get_plugin_name(), $this->get_version() );
$this->loader->add_action( 'rs_license_daily_event', $plugin_public, 'rs_license' );
}
and finaly in public class add that method:
public function rs_license() {
// do stuff
}
Thats it.
Upvotes: 4