我的插件在插件激活时设置了一个CRON作业,每5分钟运行一次。我想在我的插件设置页面中提供一个部分,用户可以在其中指定间隔。我该怎么做?我正在使用cron_schedules
筛选以添加自定义CRON计划。我正在考虑使用它来获取用户设置的CRON interval的选项值。这样做对吗?如果没有,我应该怎么做?
更新时间:
//done in plugin activation
if ( !wp_next_scheduled( \'my_custom_event\' ) ) {
wp_schedule_event( time(), \'everyminute\', \'my_custom_event\' );
}
add_filter( \'cron_schedules\', \'add_cron_schedule\' );
add_action( \'my_custom_event\', \'cron_data_update\' );
//This is where I get the value set from the plugin settings
function add_cron_schedule( $schedules ) {
$my_settings = get_option( \'my-settings\' );
$period = ( isset( $my_settings[\'my-cron-interval\'] ) && $my_settings[\'my-cron-interval\'] != \'\' ) ? $my_settings[\'my-cron-interval\'] : 30;
$schedules[\'everyminute\'] = array(
\'interval\' => MINUTE_IN_SECONDS * $period,
\'display\' => __(\'My Schedule\')
);
return $schedules;
}
function cron_data_update() {
//do something
}
如您所见,我正在通过插件设置页面获取用户设置的值。如果未设置任何内容,则默认使用30分钟。这样做对吗?