Intereting Posts
Вредоносные программы в header.php WP REST возвращает значение функции ошибки из запроса Как позволить вкладчикам создавать новую редакцию (проект), редактируя свои опубликованные сообщения wp_head () дает мне какой-то странный CSS Извлечение почтовых категорий Импорт сообщений WordPress с настраиваемыми метаданными в виде файлов CSV через PHPMyAdmin Shortcode не отображает HTML внутри функции Qtranslate + Woocommerce (множественный tinymce) Почему страница блога не показывает шаблон? Возврат вызова Ajax 404 Как сделать первое окно виджета закрытым, а не открывать в админке ajax перестала работать, когда не вошла в систему? Отключить ТОЛЬКО URL-адрес автоматически, а не всю систему канонических URL-адресов Получить значение кнопки отправки в пользовательском типе сообщения У меня есть что беспокоиться при переключении на тему по умолчанию, чтобы протестировать конфликты плагина?

Как отлаживать WordPress «Cron» wp_schedule_event

Как я могу отлаживать проблемы с WordPress Cron? Я думаю, что это произойдет, когда пользователи перейдут на ваш сайт, но любые ошибки не будут показаны им, так как задания выполняются «асинхронно». Итак, как я могу отлаживать ошибки?

Я использую wp schedule event

Solutions Collecting From Web of "Как отлаживать WordPress «Cron» wp_schedule_event"

Вы можете запустить WP cron вручную, вызвав: http://example.com/wp-cron.php?doing_wp_cron

Если вы не хотите, чтобы автоматический cron запускался во время отладки, добавьте его в файл /wp-config.php :

 define('DISABLE_WP_CRON', true); 

Если вы находитесь в среде разработки и хотите выводить информацию об отладке, вызов ее вручную, как это, покажет вам ваш вывод отладки.

Кроме того, вы можете использовать встроенную функцию error_log PHP для записи строк сообщений в журнал ошибок для отладки. Вы должны использовать это в сочетании с настройками WP_DEBUG , как упоминалось Rarst.

Вы можете использовать плагин Cron-View . Там вы можете узнать, зарегистрирована ли ваша работа: a) зарегистрирована и b) какова будет следующая продолжительность.

Кроме того, вы можете добавить более низкий таймер расписания к вашему событию (например, каждые 2 минуты) и чаще тестировать свой метод в локальной системе. Используйте крючок фильтра cron_schedules для регистрации новых расписаний. Например:

function my_additional_schedules($schedules) { // interval in seconds $schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes'); return $schedules; } add_filter('cron_schedules', 'my_additional_schedules');
function my_additional_schedules($schedules) { // interval in seconds $schedules['every2min'] = array('interval' => 2*60, 'display' => 'Every two minutes'); return $schedules; } add_filter('cron_schedules', 'my_additional_schedules'); 

Вы можете (и, вероятно, в любом случае, cron или нет) настроить протокол ошибок PHP, чтобы зафиксировать все ошибки.

Вы можете отлаживать вручную, создавая действие и выполняя действие Cron внутри. Как это:

 add_action( 'init', function() { if ( ! isset( $_GET['the_cron_test'] ) ) { return; } error_reporting( 1 ); do_action( 'this_is_cron_event_hook' ); die(); } ); 

И перейдя на адрес вашего веб-сайта: http://example.com?the_cron_test

Это должно показать вам любые ошибки с задачей cron.

Но это не имеет никакого смысла делать это вручную. Вы можете использовать плагин Advanced Cron Manager PRO, который делает это для вас, а также сохраняет журнал и другую статистику.