У меня есть функция, содержащаяся в пользовательском плагине, которую я пытаюсь запускать ежедневно, используя 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 не работает Но это тоже не работает.
/** 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, который необходимо обновить? Любая помощь приветствуется!
Спасибо за все ваши отличные ответы и предложения!
Оказывается, моя проблема заключалась в том, что я редактировал код прямо из командной строки, а не «деактивировал» и «повторно активировал» плагин после моих изменений!
Я наконец понял, что для реализации моих изменений в коде мне пришлось «деактивировать», а затем «повторно активировать» плагин, чтобы сбросить запланированное событие Wordpress.