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


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.