2016-08-28 73 views
0

我一直在使用this WP plugin boilerplate一段時間,現在我有一個問題,我似乎無法解決,所以我將不勝感激任何幫助。WP Cron插件

在包含有一個名爲類的插件名稱,activator.php文件,並在它有一個名爲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,以便我可以看到它是否可行。

回答

1

內部公共靜態功能激活加載:

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

    } 

和finaly在公共類添加方法:

public function rs_license() { 
    // do stuff 
} 

就是這樣。

+0

這樣做。謝謝。 –