Как исправить отправителя BuddyPress писем?
В WordPress есть возможность отправлять почту, используя встроенную в CMS функцию wp_mail()
. И все бы ничего, но по умолчанию все письма идут от имени WordPress
(а не вашего сайта) и с email адреса wordpress@[example.com]
. Поэтому я написал когда- запись про то, как изменить имя и email адрес сайта, с которого отправляется письмо. Это прекрасно работает для обычного WordPress сайта и для BuddyPress версии < 2.5.
Но в BuddyPress 2.5 появился новый отличный функционал – BP Emails:
Это по сути CPT, которые содержат список всем BuddyPress писем, которые может отправлять плагин социальной сети разным пользователям по тем или иным событиям. Для того, чтобы реализовать поддержку кастомизатора этих писем, то есть вносить изменения в письма вот здесь:
разработчику Paul Gibbs пришлось “форкнуть” стандартную функцию wp_mail()
. То есть сделать ее копию, но сильно улучшенную, которая поддерживает такие динамические изменения и вообще более гибкая. И это привело к одному багу.
Больше стандартные фильтры для изменения имени и email адреса отправителя письма не работали. По умолчанию письмо отправлялось от админа (его email использовался).
Так как же исправить отправителя BuddyPress писем?
То есть письма от обычного WordPress (вроде “комментарий к записи ожидает модерации”) используют эти фильтры, а BuddyPress письма – нет. Вот именно для решения этой проблемы и был создан плагин: BP Email to WP Mail From Bridge.
Этот плагин делает всего 1 вещь (своей одной функцией) – он в BuddyPress письмах на имя отправителя и email адрес вашего сайта навешивает эти же два фильтра 'wp_mail_from'
и 'wp_mail_from_name'
. И код из моей старой записи снова продолжает работать.
В треке я предложил разработчикам включить код этого плагина в ядро.
Вопрос не отправляет письма BuddyPress что не делаю не помогает … что делать