保存选项时的Wordpress计划Cron事件

时间:2018-09-29 15:53:15

标签: wordpress cron

我正在尝试在自定义Wordpress插件中更新选项时安排事件。我知道update_option_"option_name"并已进行了设置,但是该活动尚未安排。即使已经在寄存器设置文件中创建了设置,我什至采取了额外的步骤来创建带有add_option( 'ea_auto_update_time', '' );的选项。预先感谢您的时间和帮助。我真的很感激人们愿意提供帮助。

function ea_wpcron_activation() {
$defaults = array( 'ea_auto_update_time'    =>  '' );
$ea_plugin_options = wp_parse_args( get_option( 'ea_pricing_options' ), ea_product_pricing_options_default() );
$auto_update_time = sanitize_text_field( $ea_plugin_options['ea_auto_update_time'] );
if( $auto_update_time == 'hourly' || $auto_update_time == 'daily' || $auto_update_time == 'twicedaily' || $auto_update_time == 'weekly' ) {
    if( ! wp_next_scheduled( 'ea_automation_queue_hook' ) ) {
        wp_schedule_event( time(), $auto_update_time, 'ea_automation_queue_hook' );
        if( ! wp_next_scheduled( 'ea_automation_new_hook' ) ) {
            wp_schedule_event( time(), 'five_minutes', 'ea_automation_new_hook' );
        }
    } else {
        $ea_automation_next = wp_next_scheduled( 'ea_automation_queue_hook' );
        wp_schedule_event( $ea_automation_next, $auto_update_time, 'ea_automation_queue_hook' );
    }
} else {
    wp_clear_scheduled_hook( 'ea_automation_queue_hook' );
    wp_clear_scheduled_hook( 'wpcron_activation_new' );
}
}
add_action( 'update_option_ea_auto_update_time', 'ea_wpcron_activation' );

0 个答案:

没有答案