Wordpress:仅针对所有通知电子邮件更改###ADMIN_EMAIL###
Posted
技术标签:
【中文标题】Wordpress:仅针对所有通知电子邮件更改###ADMIN_EMAIL###【英文标题】:Wodpress: Change ###ADMIN_EMAIL### only for all notification email 【发布时间】:2022-01-07 10:02:12 【问题描述】:有没有办法为 wordpress 中的所有自动通知电子邮件更改 ### ADMIN_EMAIL ###?
例如在更改密码通知和更改用户电子邮件中,我想要一个不同于真实管理员电子邮件的自定义电子邮件
如果您没有更改您的电子邮件,请通过 ###ADMIN_EMAIL###
联系站点管理员
如果您没有更改电子邮件,请通过 ###CUSTOM_EMAIL###
联系站点管理员
【问题讨论】:
【参考方案1】:您可以使用过滤器:
password_change_email
(source)
email_change_email
(source)
并使用 str_replace()
更新管理员电子邮件地址。
上述每个过滤器都接受 3 个参数(数组):
$email_change_email
或 $pass_change_email
(取决于使用的过滤器)
$user
$userdata
第一个参数有一个名为message
的数组项,其中包含一些动态替换的字符串:
###USERNAME###
当前用户的用户名。
###ADMIN_EMAIL###
管理员电子邮件以防万一。
###EMAIL###
用户的电子邮件地址。
###SITENAME###
网站名称。
###SITEURL###
站点的 URL。
完整代码:
将 other_email@your-domain.com
更改为您的新管理员电子邮件地址。
/**
* Change admin email in notifications.
*
* This applies to password and email change notifications.
*
* @param (array) $pass_change_email Used to build wp_mail().
* @param (array) The original user array.
* @param (array) The updated user array.
*
* @return (array) $pass_change_email Updated wp_mail() content.
*/
add_filter('password_change_email', 'replace_admin_email_in_notification_emails', 10, 3);
add_filter('email_change_email', 'replace_admin_email_in_notification_emails', 10, 3);
function replace_admin_email_in_notification_emails( $pass_change_email, $user, $userdata )
$pass_change_email['message'] = str_replace( '###ADMIN_EMAIL###', 'other_email@your-domain.com', $pass_change_email['message'] );
return $pass_change_email;
【讨论】:
欢迎来到***。你的回答有些欠缺。如果有人阅读了您的帖子但没有点击链接......他们会知道该怎么做吗? How to Answer @HowardE 我同意,我用更多细节更新了答案。以上是关于Wordpress:仅针对所有通知电子邮件更改###ADMIN_EMAIL###的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有通知和确认过程的情况下更改 WordPress 中的主管理员电子邮件地址
Wordpress:当用户注册时发送通知,但仅适用于具有订阅者角色的用户