我有一个自定义插件中包含的函数,我每天尝试使用wp_schedule_event()触发该函数。但是,无论我尝试什么,我都无法使其正常工作!
首先,我尝试使用此代码(该代码在使用自定义插件的另一个Wordpress网站上运行良好,该插件每小时触发一次功能,但在该网站上不起作用)
/** Set Recurring Hourly Event for Function Execution */
register_activation_hook(__FILE__, 'bt_events_activation');
function bt_events_activation() {
wp_schedule_event(time(), 'hourly', 'btpg_hourly_event');
}
add_action('btpg_hourly_event', 'doThisFunction');
/** Clear Recurring Hourly Event for Function Execution when plugin is deactivated */
register_deactivation_hook(__FILE__, 'bt_events_deactivation');
function bt_events_deactivation() {
wp_clear_scheduled_hook('btpg_hourly_event');
}
然后我尝试从另一个堆栈溢出问题中使用此代码 wp_schedule_event not working 但这也不起作用。
/** Set Recurring Hourly Event for Function Execution */
/* Add FB Sync schedule */
register_activation_hook(__FILE__, 'cp_fb_schedule');
// Scheduled Action Hook
function cp_fb_scheduled_sync_function( ) {
doThisFunction();
}
// Schedule Cron Job Event
function cp_fb_schedule() {
if ( ! wp_next_scheduled( 'cp_fb_scheduled_sync' ) ) {
wp_schedule_event( time(), 'daily', 'cp_fb_scheduled_sync' );
}
}
add_action( 'cp_fb_scheduled_sync', 'cp_fb_scheduled_sync_function' );
register_deactivation_hook(__FILE__, 'tpg_deactivation');
我错过了一些非常简单的东西吗?是否有需要更新的服务器设置或wp-config.php设置?任何帮助将不胜感激!
答案 0 :(得分:0)
感谢您的所有出色回答和建议!
事实证明,我的问题是我直接从命令行编辑代码,并且在更改后没有“停用”和“重新激活”插件!
我终于意识到,要实现对代码的更改,我必须先“停用”插件,然后“重新激活”插件,以重置Wordpress计划事件。