パスワード変更後のメール通知を無効にする


13

ユーザーまたは管理者がユーザーのパスワードを変更した場合、メール通知を無効にします。

Googlelingをいくつか試した後、プラグインを作成し、にある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.


1
また、私は苦労してカスタムプラグインを使用して作成/試してみました、falseにワードプレス・フィルタを設定することが、何も働いていない...ただ、今日、私がつまずい通知のEメールが、プラグインを管理し、それが動作します:)
リアンダー

回答:


18

ユーザーのメール通知を無効にするには、これをプラグインまたはテーマに追加します。

add_filter( 'send_password_change_email', '__return_false' );

FYI wp_password_change_notification()は、ユーザーがパスワードを変更したときの管理者メール通知を制御します


10

ユーザーが自分のパスワードをリセットしたときに管理者の電子メール通知を無効にするには、次のコードスニペットを使用してプラグインを作成します(またはプラグイン使用する必要があります)。

/**
 * 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 <wordpress@example.com>
To: admin@example.com
Subject: [WordPress] Password Changed

ユーザーのパスワードが変更されました:ユーザー名

pluggable.phpテーマのfunctions.phpファイルよりも前にロードされるため、この電子メール通知を抑制するにはプラグインで処理する必要があります。


代わりに、ユーザーが自分のパスワードを正常に変更したというユーザー電子メール通知を無効にする場合は、次の場所にある次のフィルターを使用しますfunctions.php

/**
 * Disable User Notification of Password Change Confirmation
 */
add_filter( 'send_password_change_email', '__return_false' );

これにより、次の電子メールが送信されなくなります。

From: WordPress <wordpress@example.com>
To: username@example.com
Subject: [WordPress] Password Changed

こんにちはユーザー名、

この通知は、WordPressでパスワードが変更されたことを確認します。

パスワードを変更しなかった場合は、サイト管理者のadmin@example.comに連絡してください。

このメールはusername@example.comに送信されました

よろしく、
WordPress
http://example.com/


2
この答えには大きな間違いがあります。フィルタ名は、「send_email_change_email」ではなく「send_password_change_email」です。 codex.wordpress.org/Plugin_API/Filter_Reference/...
トリスタンシャルボニエ

了解しました。参考までに、2つのフィルターは関連しており、ユーザーが電子メールまたはパスワードを変更したときにユーザー通知を無効にするために使用できます。いずれかのユースケースは、メール通知またはパスワード変更のいずれの通知を抑制するかによって異なります。鮮明な画像の場合は、WordPressの関数を参照wp_update_user()してwp-includes/user.phpcore.trac.wordpress.org/browser/tags/4.9.5/src/wp-includes/...
RJB

2

ユーザーがで更新されると、WordPressはデフォルトで通知を送信しますwp_update_user()

フィルターを使用してこれを上書きしようとしpluggable.phpたり、変更したり、空の関数で上書きしたりしても機能しません。

代わりwp_set_password( $password, $user_id )に、パスワードのリセット時にユーザー/管理者に対して通知電子メールがトリガーされないようにする場合に使用します。


1

次のコードをコピーしてdisable_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;
    }
}
?>

??? これは私がしたこととどう違うのですか?
インタラクティブ

プラグインを作成し、その上にコードを配置しましたか?
Sabbirハサン

はい、それは私が説明したと思ったことです。しかし、明確でない場合は質問を更新します!
インタラクティブ

今すぐやってみて下さい。答えを更新しました。今すぐ動作するはずです!
Sabbirハサン

ハ私はこれを見つけて試しましたが、うまくいきませんでした!
インタラクティブ

1

パスワードが変更されたときではなく、メールが変更されたときにメールの送信が無効になるため、他の回答は間違っています。

アクティブなテーマ(またはプラグイン)の下のfunctions.phpファイルに以下のコードを追加すると動作するはずです。バージョン4.6.1で私のために働いた

/**
 * Disable sending of the password change email
 */
add_filter( 'send_password_change_email', '__return_false' );

公式ドキュメントを参照


他のすべての回答が間違っている可能性はなく、常に新しい回答が投稿されます。「その他」の回答を参照するときは、回答をより具体的にする必要があります。
スパーキー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.