更改密码后禁用电子邮件通知

时间:2015-10-23 作者:Interactive

如果用户或管理员更改了用户的密码,我想禁用电子邮件通知

在google搜索之后,我发现我需要创建一个插件并覆盖wp_password_change_notification 在中找到函数pluggable.php.

这是插件和函数:

<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/

if ( !function_exists( \'wp_password_change_notification\' ) ) {
    function wp_password_change_notification() {}
}
?>
我上传了文件到我的插件文件夹,并在我的管理面板中激活了它!

这需要使用插件来完成,因为pluggable.php 文件在functions.php 文件

不管怎样,这对我似乎不起作用。

用户仍会收到电子邮件。

我禁用了所有插件,并在干净的安装上运行插件,因此没有干扰

这个WP_DEBUG 也不会显示任何错误!

有谁能告诉我要更改什么或如何以其他方式修复它(核心修改除外:-))

M

9 个回复
SO网友:user42826

要禁用用户电子邮件通知,请将其添加到插件或主题中:

add_filter( \'send_password_change_email\', \'__return_false\' );
仅供参考wp_password_change_notification() 控制用户更改密码时的管理员电子邮件通知

SO网友:rjb

user resets their own password, 创建插件(或Must Use Plugin) 使用以下代码段:

/**
 * Disable Admin Notification of User Password Change
 *
 * @see pluggable.php
 */
if ( ! function_exists( \'wp_password_change_notification\' ) ) {
    function wp_password_change_notification( $user ) {
        return;
    }
}
这将阻止以下电子邮件发送到“设置”>“常规”中的管理员电子邮件:

From: WordPress<;[email protected]&燃气轮机
To: [email protected]
Subject: [WordPress]密码已更改

用户的密码已更改:用户名

抑制此电子邮件通知必须使用插件处理,因为pluggable.php 加载时间早于主题的functions.php 文件

如果您希望禁用用户电子邮件通知user has successfully changed their own password, 使用放置在中的以下过滤器functions.php:

/**
 * Disable User Notification of Password Change Confirmation
 */
add_filter( \'send_password_change_email\', \'__return_false\' );
这将禁止发送以下电子邮件:

From: WordPress<;[email protected]&燃气轮机
To: [email protected]
Subject: [WordPress]密码已更改

您好用户名,

此通知确认您的密码已在WordPress上更改。

如果您没有更改密码,请通过以下地址与网站管理员联系:[email protected]

此电子邮件已发送至[email protected]

向WordPress致意http://example.com/

SO网友:Sabbir Hasan

复制以下代码并另存为disable\\u email。php。然后将该文件放在“wp-content/plugins/”目录中。并从管理面板激活。

<?php
/*
Plugin Name: Stop email change password
Description: Whatever
*/

if (!function_exists(\'wp_password_change_notification\')) {
    function wp_password_change_notification($user) {
        return;
    }
}
?>

SO网友:Meint-Willem Gaasbeek

默认情况下,WordPress会在更新用户时发送通知wp_update_user().

尝试使用筛选器覆盖此内容,修改pluggable.php, 或者用空函数覆盖,都不起作用。

而是使用wp_set_password( $password, $user_id ) 当您不希望在密码重置时为用户/管理员触发通知电子邮件时。

SO网友:wynnset

其他答案是错误的,因为这些答案禁止在更改电子邮件时发送电子邮件,而不是在更改密码时发送。

将下面的代码添加到函数中。活动主题下的php文件(或者插件中的php文件)应该可以工作。在版本4.6.1中为我工作

/**
 * Disable sending of the password change email
 */
add_filter( \'send_password_change_email\', \'__return_false\' );
请参见official documentation

SO网友:Mikepote

如果您使用Woocommerce:

自WC 3.8.0(2019年11月)以来,现在有一个专用的过滤器挂钩:

add_filter(\'woocommerce_disable_password_change_notification\', \'__return_true\');
应抑制密码更改通知。

SO网友:Andrew Schultz

使用该功能wp_set_password() 而不是wp\\u update\\u user()来更新密码,因为这不会触发电子邮件通知。

SO网友:megseoh

应该这样回答吗https://wordpress.stackexchange.com/a/266006/73347 上面还可以禁用发送给管理员的密码重置电子邮件吗?

/**
 * Disable Admin Notification of User Password Change
 *
 * @see pluggable.php
 */
if ( ! function_exists( \'wp_password_change_notification\' ) ) {
    function wp_password_change_notification( $user ) {
        return;
    }
}
我还在收到:(谢谢。

SO网友:Mike van den Hoek

这对我有用,只需清除电子邮件地址。

// Disable password change notification email.
add_filter(\'wp_password_change_notification_email\', function ($wp_password_change_notification_email) {
    $wp_password_change_notification_email[\'to\'] = \'\';
    return $wp_password_change_notification_email;
});

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请