我正在激活cronform
提交按钮(不是在插件激活时)。因此,用户可以选择是否设置cron。
但它不会触发函数。设置了cron,但触发了该函数。在通过cron时间加载cron函数之后,我已经加载/访问了该站点好几次。
这是我的密码,
function obs_register_menu() {
add_menu_page( .. \'obs_plugin_fn\'... ); // obs_plugin_fn is the function for the plugin page
}
add_action(\'admin_menu\',\'obs_register_menu\'); //add menu
function obs_plugin_fn(){ global $wpdb;
if(!empty($_POST) && ($_POST[\'obs_daily_cron_activate\']) && !wp_next_scheduled( \'obs_daily_cron\' )) { //activate cron on submit
wp_schedule_event(strtotime("now"), \'daily\', \'obs_daily_cron\');
}
if(!empty($_POST) && ($_POST[\'obs_daily_cron_deactivate\']) && wp_next_scheduled( \'obs_daily_cron\' )) { // de-activate cron on submit
wp_clear_scheduled_hook(\'obs_daily_cron\');
}
if ( !wp_next_scheduled( \'obs_daily_cron\' ) ) {
echo \'<form action="" method="post">
<input type="submit" name="obs_daily_cron_activate" class="button button-primary" value="Activate daily cron">
</form>\'; // submitting this activate the cron
}
else{
echo \'<form action="" method="post">
<input type="submit" name="obs_daily_cron_deactivate" class="button button-primary" value="Deactivate daily cron">
</form>\'; // submitting this de-activate the cron
}
// cron schedule
add_action(\'obs_daily_cron\', \'obs_daily_cron_fn\');
function obs_daily_cron_fn() {
// do something every day
}
} // end plugin function`