ユーザーまたは管理者がユーザーのパスワードを変更した場合、電子メール通知を無効にします。
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
ファイルの前にロードされるため、これはプラグインで実行する必要があります。
とにかくそれは私のために動作しないようです.......
ユーザーはまだ電子メールを受け取ります。
私はすべてのプラグインをdiableし、クリーンインストールでプラグインを実行したので干渉はありません
WP_DEBUG
にもエラーは表示されません。
誰が私に何を変更すべきか、または他の方法でそれを修正する方法を教えてもらえますか(コアの変更を除く:-))
M.
ユーザーの電子メール通知を無効にするには、これをプラグインまたはテーマに追加します。
add_filter( 'send_password_change_email', '__return_false' );
参考: wp_password_change_notification()
ユーザーがパスワードを変更したときの管理者へのEメール通知を制御します
ユーザーが自分のパスワード をリセットしたときに管理者メール通知を無効にするには、次のコードスニペットを使用してプラグインを作成します(または プラグインの使用 )。
/**
* Disable Admin Notification of User Password Change
*
* @see pluggable.php
*/
if ( ! function_exists( 'wp_password_change_notification' ) ) {
function wp_password_change_notification( $user ) {
return;
}
}
これにより、[設定]> [一般]で次のメールが管理者のメールに送信されなくなります。
差出人: WordPress <[email protected]>
宛先: [email protected]
件名: [WordPress]パスワードが変更されましたユーザーのパスワードが変更されました:username
pluggable.php
はテーマのfunctions.php
ファイルよりも前にロードされるため、このEメール通知を抑制するにはプラグインを使用する必要があります。
代わりにユーザーの電子メール通知を無効にして ユーザーが自分のパスワード を正常に変更した場合は、functions.php
に配置された次のフィルタを使用します。
/**
* Disable User Notification of Password Change Confirmation
*/
add_filter( 'send_password_change_email', '__return_false' );
これにより、次の電子メールが送信されなくなります。
差出人: WordPress <[email protected]>
宛先: [email protected]
件名: [WordPress]パスワードが変更されましたこんにちは、ユーザー名
この通知はあなたのパスワードがWordPressで変更されたことを確認します。
パスワードを変更しなかった場合は、サイト管理者([email protected])に連絡してください。
このメールは[email protected]に送信されました。
よろしく、
WordPressのすべて
http://example.com/
ユーザーがwp_update_user()
で更新されると、WordPressはデフォルトで通知を送信します。
フィルタを使ってこれを上書きしようとしても、pluggable.php
を修正しても、あるいは空の関数で上書きしようとしても、うまくいきません。
パスワードのリセット時にユーザー/管理者に対して通知Eメールをトリガーしたくない場合は、代わりにwp_set_password( $password, $user_id )
を使用してください。
パスワードが変更されたときではなく、Eメールが変更されたときにEメールを送信できなくなるため、他の答えは間違っています。
あなたのアクティブなテーマの下で(あるいはプラグインで)あなたのfunctions.phpファイルに以下のコードを追加することはうまくいくはずです。私のためにバージョン4.6.1のために働きました
/**
* Disable sending of the password change email
*/
add_filter( 'send_password_change_email', '__return_false' );
次のコードをコピーして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;
}
}
?>
パスワードを更新するには、wp_update_user()の代わりに wp_set_password() 関数を使用します。これは電子メール通知をトリガーしないためです。