Изменение имени и email отправителя почты с сайта на WordPress

Для начала сравним функции 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');
Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.

Смотрите также