Верх страницы
Обложка к записи Отладка wp_mail в WordPress без плагина
Время для прочтения: 0 мин. 6 сек.

Отладка wp_mail в WordPress без плагина

Бывали ли у вас проблемы с отправкой почты с вашего WordPress сайта без видимых причин? Если да — то эта статья для вас.

Вся сложность отладки заключается в том, что wp_mail возвращает true или false в зависимости от результата функции, по которым невозможно понять, что же пошло не так.

Включение журналирования

Перед началом отладки необходимо включить запись всех ошибок в журнал WordPress. Для чего добавьте/измените значение специальных констант в файле конфигурации wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Теперь все ошибки, предупреждения и уведомления будут записываться в файл debug.log, расположенный в папке wp-content.

Более подробно о включении режима отладки и константах смотрите в статье «Дебаг в WordPress«.

Отладка wp-mail

В WordPress 4.4 появился замечательный хук wp_mail_failed, которым мы и воспользуемся. Для чего добавьте в файл functions.php вашей активной темы следующий сниппет:

function mihdan_debug_wp_mail( $wp_error ) {
    return error_log( print_r( $wp_error, true ) );
}
add_action( 'wp_mail_failed', 'mihdan_debug_wp_mail', 10, 1 );

Благодаря данному сниппету, вся информация об ошибках внутри wp_mail будет записана журнал ошибок WordPress, который мы включили ранее.

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы