Intereting Posts
Как создать опцию «импортировать фиктивные данные» в пользовательском плагине WordPress Определить тип страницы по URL-адресу (Архив, одиночный, страница, автор, …) Дополнительные пользовательские поля WYSIWYG Больше тегов код внезапно появляется из моего второго временного цикла Плагин событий, который работает с существующими категориями? Предполагая, что тема правильно защищена, как сохранить администратор WordPress? Можно ли использовать WP_Query для загрузки сообщений с вложениями? Изображение профиля, но не Gravatar Помощь отладки PHP-фильтра для wordpress Пользовательская кнопка сохранения отображает диалоговое окно «Вы уверены, что хотите …» Пагинация показывает то же содержимое всех страниц Какие инструменты следует использовать для галереи, которая использует API и url для пути к изображениям? Twitter Bootstrap Use Collapse in Custom Post Type Как узнать, насколько популярна тема? wp_star_rating () не отображает звезды в сообщении

wp_schedule_single_event не вызывает мое действие

Я создал следующее действие:

add_action( 'test_action', 'test_action' ); function test_action() { error_log( 'test_action' ); } 

И я называю это так:

 error_log( 'send_test_email_in_background:START' ); wp_schedule_single_event( time(), 'test_action' ); error_log( 'send_test_email_in_background:END' ); 

То, что я получаю в файле журнала ошибок apache, следующее:

 [17-Sep-2015 11:09:35 UTC] send_test_email_in_background:START [17-Sep-2015 11:09:35 UTC] send_test_email_in_background:END 

Это работает точно так же в разработке на моем ПК с Windows (работает WAMP), чем в Production (работает Linux в AWS). Кроме того, если я планирую одно событие в 5 минут в будущем (время () + 300), он будет отображаться в моем плагине «Отладка Бар-Крона» как доступный для запуска через 5 минут, и, похоже, он работает нормально. Похоже, что задания CRON создаются, но по какой-то причине они фактически не вызывают действие при запуске? У кого-нибудь еще была эта проблема или у нее есть понимание?

Поскольку вы планируете событие – даже если оно настроено на немедленное выполнение (то есть с помощью time() ), оно не будет срабатывать до второго запроса.

Таким образом, вывод журнала полностью ожидаем. Попробуйте запустить его снова, удалив код, а затем запустите еще раз – вы должны получить:

 [time] test_action