비밀번호 변경 후 이메일 알림 비활성화


14

사용자 또는 관리자가 사용자의 비밀번호를 변경하면 이메일 알림을 비활성화하고 싶습니다.

일부 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아니라 오류를 표시하지 않습니다!

누구든지 변경하거나 다른 방법으로 수정하는 방법을 알려 줄 수 있습니까 (핵심 수정 제외 :-))

미디엄.


1
나는 또한 사용자 정의 플러그인을 만들거나 사용하여 워드 프레스 필터를 false로 설정하려고 노력했지만 아무것도 효과가 없었습니다 ... 오늘은 알림 전자 메일 관리 플러그인을 우연히 발견했습니다. :)
Leander

답변:


20

사용자 이메일 알림을 비활성화하려면 플러그인 또는 테마에이를 추가하십시오.

add_filter( 'send_password_change_email', '__return_false' );

FYI wp_password_change_notification()는 사용자가 비밀번호를 변경하면 관리자 이메일 알림을 제어합니다


11

사용자가 자신의 비밀번호를 재설정 할 때 관리자 이메일 알림 을 사용하지 않으 려면 다음 코드 스 니펫을 사용하여 플러그인 (또는 플러그인을 사용해야 함 )을 작성하십시오.

/**
 * 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 <wordpress@example.com>받는
사람 : admin@example.com
제목 : [WordPress] 암호 변경

사용자의 비밀번호가 변경되었습니다 : username

pluggable.php테마 functions.php파일 보다 먼저로드 되므로이 이메일 알림을 억제하려면 플러그인으로 처리해야 합니다.


사용자가 자신의 암호를 성공적으로 변경 했다는 사용자 전자 메일 알림 을 대신 비활성화 하려면 다음 필터를 사용하십시오 .functions.php

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

다음 이메일이 전송되지 않습니다.

보낸 사람 : WordPress <wordpress@example.com>받는
사람 : username@example.com
제목 : [WordPress] 암호 변경

안녕하세요, 사용자 이름,

이 알림은 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/…
Tristan CHARBONNIER

유명한. 참고로 두 필터는 서로 관련되어 있으며 사용자가 이메일 또는 비밀번호를 변경할 때 사용자 알림을 비활성화하는 데 사용할 수 있습니다 . 사용 사례는 전자 메일 변경 또는 비밀번호 변경과 같은 알림을 표시하지 않으려는 경우에 따라 다릅니다. 명확한 그림 wp_update_user()wp-includes/user.php다음 의 워드 프레스 기능 을 참조하십시오 . core.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 Hasan

네, 제가 생각한 것입니다. 그러나 확실하지 않은 경우 질문을 업데이트하겠습니다!
대화식

지금 시도하십시오. 나는 대답을 업데이트했다. 이제 작동합니다!
Sabbir Hasan

Ha 나는 이것을 발견하고 시도했지만 작동하지 않았습니다!
대화식

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.