Intereting Posts
Стоп после публикации Как предотвратить появление новой строки в коротком коде? Разрешить посетителям выполнять поиск по нескольким тегам (конкретные идентификаторы) Разрешение пользователю редактировать сообщения в зависимости от состояния сообщения Почему обновление профиля пользователя создает дополнительные возможности Аналитическая проблема Google в WordPress query_posts с настраиваемым типом сообщения, мета-поиск и сортировка по дате публикации? Интеграция MailChimp, которая позволяет пользователям выбирать из нескольких списков admin-ajax.php и мой URL-адрес папки wp-admin в заголовке Отображение div, когда сообщение имеет определенный тег как отредактировать формат bbp_forum_freshness_link () Возможно ли пересчитать цены на корзину? Укажите приоритет страницы над категорией с тем же именем? Миграция пользователей вместе со своим паролем Стиль WordPress Custom Post Type Single Page

Cron Job не работает в плагине

Я написал плагин, который будет конвертировать сообщения в формат excel, а затем отправить по электронной почте .xls на идентификатор электронной почты. Я могу заставить его работать, когда функция объявлена ​​в functions.php, но не работает с функцией, определенной в файле плагина.

if ( ! wp_next_scheduled( 'xls_func_hook1' ) ) { wp_schedule_event( time(), 'hourly', 'xls_func_hook1' ); } add_action( 'xls_func_hook1', 'sendxls1' ); //senxls1 is a function in functions.php if ( ! wp_next_scheduled( 'xls_func_hook2' ) ) { wp_schedule_event( time(), 'hourly', 'xls_func_hook2' ); } add_action( 'xls_func_hook2', 'export2excel' ); 

Полный код находится здесь.

Событие cron необходимо зарегистрировать на крючке активации плагина:

 register_activation_hook( __FILE__, 'activate_cron' ); function activate_cron() { wp_schedule_event( current_time( 'timestamp' ), 'hourly', 'the_function_to_run' ); } 

Параметр the_function_to_run определенный в wp_schedule_event, должен быть вашей функцией, которую вы хотите запустить с временным интервалом.

Примечание . Когда вы говорите что-то «Не работает», на самом деле трудно ответить. Пожалуйста, будьте более конкретными, чтобы получить лучшие ответы.

@Chris_O является полуправым, а ваш код имеет половину права, см. Эту документацию . При активации плагина вы регистрируете пользовательский крючок действия (так что ваш плагин не будет повторно регистрировать повторяющиеся события). Затем вы присоединяете свою функцию cron к этому пользовательскому подключению.