Изменение заголовков писем-уведомлений в WordPress
Всем привет. На днях столкнулся с одной проблемой. Вернее столкнулся я с ней давно, а вот решить ее руки дошли только сейчас 🙂 . Проблема состояла в слудущем — мне на почту часто приходят письма-уведомления о комментариях на блоге и письма из обратной связи. Вот так, например, в моем почтовом клиенте выглядят уведомления о комментариях к статье (кликабельно):
Как видите, в начале темы письма идет название сайта. Название моего сайта занимает практически весь экран, и на название статьи, к которой оставлен комментарий, места не хватает. И это притом, что почтовый клиент развернут на весь экран. Естественно, название своего блога я знаю наизусть, и лишний раз напоминать мне его полностью ни к чему. Поэтому у меня в голове давно зрела идея убрать полное название сайта из темы письма, чтобы сразу было видно название статьи, к которой оставили отзыв.
Если вам тоже не дает покоя эта мелочь, читайте дальше 🙂
Все настройки писем, приходящих от WordPress, включая их тексты и темы, находятся в файле pluggable.php, который располагается в папке wp-includes.
Прежде чем вносить изменения в этот файл, советую сохранить его копию у себя на компьютере на всякий случай, если что-то пойдет не так.
Итак, открываем файл pluggable.php. Здесь, начиная со строки 1021 идут сами тексты писем, приходящие при регистрации, при появлении нового комментария, трекбека или пингбека. Сами тексты я меня не стал.
Чуть ниже идут строки, начинающиеся с переменной $subject, это
$subject = sprintf( __(‘[%1$s] Comment: «%2$s»‘), $blogname, $post->post_title );
$subject = sprintf( __(‘[%1$s] Trackback: «%2$s»‘), $blogname, $post->post_title );
$subject = sprintf( __(‘[%1$s] Pingback: «%2$s»‘), $blogname, $post->post_title );
Эти строчки как раз и отвечают за формирование темы письма. Тот набор символов, который находится в квадратных скобках (выделен жирным), как раз и отвечает за вывод названия сайта. Как раз это нам и нужно редактировать.
Если вы хотите полностью удалить название сайта, тогда удалите эти символы вместе с квадратными скобками. Я же решил оставить только домен своего блога в названии, чтобы отличать его от других, так как иногда на почту приходят уведомления о комментариях на других блогах.
Я заменил [%1$s] на [Seostage.ru]. Можно и без квадратных скобок, их я оставил только для красоты. Если вы сохраните файл в таком виде, то надпись Comment не переведется на русское Новый комментарий к записи, поэтому прописываем эту надпись вручную.
В итоге моя строчка теперь выглядит так:
$subject = sprintf( __('[Seostage.ru] Новый комментарий к записи "%2$s"'), $blogname, $post->post_title );
Измените так же и другие строки. Не забудьте после изменений сохранить кодировку, чтобы не было арабской вязи.
Теперь уведомления о комментариях у меня имеют такой вид:
Результат налицо , я удовлетворен 🙂 Если уведомления о комментариях у вас на блоге вообще не отправляются, читайте эту статью. Удачи!

Отличное дополнение для блога. Я думаю, что многие захотят его применить. После установки комментарии смотрятся намного привлекательней. 💡
Классная статья, впервые такую вижу. Хотя я считаю это слишком муторно все. Лучше сразу нормальны заголовок сделать, а потом в случае чего, поменять.
Не знал что так можно сделать! Спасибо!
окадывается эта проблема довольно просто решается — спасибо за разьяснения 🙂
интересная штука 🙂 нужно обязательно попробовать
Почтовый ящик у вас на сайте находится? Только его так можно редактировать? Что то я не совсем понял, о чем тут речь.
А как такую же проблему решить в письме уведомлении о регистрации нового пользователя? Не могу найти ничего подобного в pluggable.php. Заранее спасибо за подсказку
Спасибо за помощь. Походил по рекламе — всё, что могу сделать в благодарность.
А где настраивается почта (прописывается моя почта чтобы комменты и сообщения на нее шли)?
Везде сменил, но почта идет почему то на старый имэйл:(
Не стоит редактировать файлы CMS