我已经使用this WP plugin boilerplate一段时间了,现在我遇到了一个我似乎无法解决的问题,所以我将不胜感激。
包括名为 class-plugin-name-activator.php 的sa文件,其中有一个名为 Plugin_Name_Activator 的类和一个公共静态功能称为激活。
我已添加wp_schedule_event,如下所示:
wp_schedule_event( time(), 'daily', 'rs_license_daily_event' );
...在激活功能中。另外,我在激活函数后添加了两个公共静态函数,第一个是调用另一个。让我们说第一个函数名是rs_license_do_daily_event。
现在,我需要像这样使用add_action:
add_action( 'rs_license_daily_event', 'rs_license_do_daily_event' );
我怎么能这样做呢?
另外,我使用一个名为WP Crontrol的插件来测试手动运行cron,以便查看它是否有效。
答案 0 :(得分:2)
在公共静态函数内激活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' );
}
}
然后在管理员或公共部分添加:(公共部分示例)
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' );
}
最后在公共课中添加该方法:
public function rs_license() {
// do stuff
}
多数民众赞成。