Рубрики
Wordpress

Как изменить имя и адрес отправителя WordPress

При различных событиях в WordPress система отправляет письма пользователям и администратору сайта. При этом система использует стандартные имя и адрес отправителя WordPress.

Письма могут отправляться при регистрации, восстановлении пароля, создании нового блога(при включенном режиме multisite). Все письма отправляются с адреса по умолчанию: WordPress <wordpress@mysite.ru>, где mysite.ru — это домен Вашего сайта.

Есть множество случаев, когда это не приемлемо.

Например, если сайт является корпоративным, то необходимо, чтобы корреспонденция исходила от существующего адреса компании.

Чтобы отправлять письма от нужного вам адресата, необходимо перехватить данные и изменить их. Делается это с помощью стандартных фильтров WordPress: wp_mail_from и wp_mail_from_name. Первый позволит изменить адрес отправителя WordPress, второй его имя.

Функции фильтрации получают действующий адрес или имя во входном параметре. Данные использовать не обязательно, но следует знать, что они есть. Их можно поместить в какую-либо переменную, например в $old.

Следующий код можно вставить в файл function.php, расположенный в активной теме вашего сайта.

PHP код, изменяющий имя и адрес отправителя WordPress:

// замена адреса с которого пользователям приходят письма
add_filter('wp_mail_from', 'new_mail_from'); 

// замена имени отправителя(по умолчанию WordPress)
add_filter('wp_mail_from_name', 'new_mail_from_name'); 

function new_mail_from( $old ) 
{
	return 'new_sender@mysite.ru';
}
function new_mail_from_name( $old )
{
	return 'My site';
}

Стоит заметить, что этот способ так же работает для мультисайта.

Для того, чтобы изменять имя и адрес отправителя WordPress было удобнее, можно создать страницу настроек, на которой сделать соответствующие поля. В этом случае в функциях замены стандартных данных необходимо будет делать проверки. Следует проверять существование данных. Если поля пусты, то указывать стандартные имя и адрес отправителя, чтобы письма не приходили с пустым полем в графе «отправитель».

Если Вас интересует как сделать страницу настроек — сообщите об этом в комментариях. Если наберется 10 желающих, то сделаю подробное описание.