Для начала сравним функции mail() и wp_mail(). Первая — это обычная PHP-функция, использующаяся для отправки e-mail с сайта, вторая используется с этой же целью в WordPress.
mail($to, $subject, $message, $headers);
wp_mail( $to, $subject, $message);
Как видите, отличие в одном-единственном аргументе. И что же это такое — headers? Ну например:
$headers = "Content-type: text/html; charset=utf-8 \r\n"; $headers .= "From: truemisha.ru <no-reply@truemisha.ru>\r\n";
В WordPress же в качестве имени отправителя по умолчанию пишется WordPress, а в качестве e-mail wordpress@ваш_сайт.ru
Давайте это исправим и начнём с имени:
function change_name($name) { return 'truemisha.ru'; } add_filter('wp_mail_from_name','change_name');
Код нужно вставлять в functions.php, теперь заменим e-mail:
function change_email($email) { return 'no-reply@truemisha.ru'; } add_filter('wp_mail_from','change_email');
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Спасибо! Наконец-то мне на e-mail стали приходить письма о комментах!
Дружище, ты пишешь
Так как и где исправить это "WordPress" на любое другое статичное имя сайта, например "Карта Спорта"?
код для functions.php:
интересно)) еще бы текст стандартного сообщения поправить)))
а какого именно стандартного сообщения? в WordPress много всяких email-уведомлений))
Михаил, помогите разобраться, пожалуйста. Мои авторы блога получают уведомления о новых комментариях, в которых указаны e-mail и IP отправителя - как это можно убрать?? Очень буду признательна если поможете разобраться с этой проблемой. Честно говоря я отключила все плагины уведомлений, а они все равно приходят - не знаю в каком месте искать эти рассылки..
Параметры -> Настройки обсуждения, снять галочку с "Отправить мне письмо, когда..."
должно помочь по идее
нет не помогла, я долго мучилась и нашла - файл plugable - там просто убрать ненужные строки, всем удачи!
не самая удачная идея)
я пока лучше не нашла..
Миша, добрый вечер.
Столкнулась с такой заковыкой =). Поставила в настройках ВП присылать мне уведомления о комментариях.
А ВП шлет их на емейл автора статьи, а не на главный, который в общих настройках задается.
Можно это как-то исправить?
Добрый вечер)
попробуйте вот такое решение:
Сварганил на ходу, просьба отписаться о том, получилось или нет.
да уже ближе - отправляет 2 письма: автору статьи и на блоговый майл.
как бы еще авторский убрать из массива.
аааа.. вот в чем дело оказывается... у меня ВП 3.7
Написала так:
теперь всё так как нужно.
Спасибо!
Здравствуйте. Подскажите, хотел зарегистрироваться на wordpress. Для составления имени предлагают использовать только строчные латинские буквы и цифры. Можно ли как-то обойти эти ограничения?
Добрый день!
да, можно, сходу сейчас наверное код не смогу подсказать, но точно знаю, что был такой плагин.
Эта статья очень помогла.
Не могу теперь и интернетах найти как заменить текст стандартного письма при регистрации нового пользователя и при восстановлении пароля.
Помогите, пожалуйста.
Тоже не могу ничего найти.
На вашем месте я бы просто прошелся по коду (который отправляет эти письма) по порядку в поисках каких-нибудь фильтров.
Попробовал такой, но письма до сих пор приходят стандартные )=
Михаил, функция
wp_new_user_notification()
не содержит фильтров сама по себе.Могу порекоммендовать вам попробовать использовать плагин SB Welcome Email Editor.
Михаил, спасибо!
Привет! Правильно ли я понимаю, что ответить на это сообщение-уведомление пользователь не сможет?
В этой ф-ции:
Привет! Да, можно указать реальный email.
спасибо
Спасибо! Отличная статья! Благодаря вашим фильтрам сделал нормальное нормальное оформление писем.
Однако у меня непонятка. Когда на мой сайт с другого сервера приходит уведомление POST, в котором содержится почтовый адрес, то мой код, размещённый в functions.php, через условие if записывает адрес в текстовый лог и должен автоматически выслать письмо на этот адрес. Переменная с адресом приходит два раза - сразу и через 10 минут. Так вот на первый приход переменной отправки письма нет, а на второй есть.
Проверял по логу много раз. Переменная приходит всегда два раза, а вот отправка только по второму приходу?
В другой статье вы объясняли, что функция wp_mail возвращает true в случае успешной отправки. А как это значение вставить в текстовый лог для проверки?
Может, думаю, хостер ввёл ограничение на одновременную отправку писем? Убрал условие if, вставил свой почтовый адрес в функцию. Так она при каждом обновлении страницы стала отсылать мне письма. За минуту с десяток набралось.
В текстовом логе внешне различий двух строк в адресе нет, но может в первом случае ещё что-то в адрес добавляется, что в текстовый лог не записывается? Где-то я про это, связанное с очисткой адреса, читал, но сейчас не могу вспомнить. В общем не знаю на что подозревать?
Помогите пожалуйста!
Дополню сообщение.
Вот этот без всяких фильтров и экшенов код я вставил в конец functions.php:
Прошу извинить за данную галиматью. Из меня ещё тот кодер.
Суть проблемы не до конца понял, но код я бы поменял:
А
global
для чего?