워드프레스 알림 메일의 링크가 제대로 작동하지 않는 문제 해결

해결책

방법 1

이 솔루션은 매우 간단합니다. 다음 코드를 현재 테마의 functions.php에 추가하십시오.

function reset_password_message( $message, $key ) { if ( strpos($_POST['user_login'], '@') ) { $user_data = get_user_by('email', trim($_POST['user_login'])); } else { $login = trim($_POST['user_login']); $user_data = get_user_by('login', $login); } $user_login = $user_data->user_login; $msg = __('누군가 다음 계정의 비밀번호를 재설정하도록 요청했습니다.'). "\r\n\r\n"; $msg .= network_site_url() . "\r\n\r\n"; $msg .= sprintf(__('用户名:%s'), $user_login) . "\r\n\r\n"; $msg .= __('귀하의 요청이 아닌 경우, 이 이메일을 무시하십시오. 아무런 일도 일어나지 않아요!') . "\r\n\r\n"; $msg .= __('비밀번호를 재설정하려면 아래 링크를 클릭!:'). "\r\n\r\n"; $msg .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ; return $msg; } add_filter('retrieve_password_message', reset_password_message, null, 2);

방법 2

이 문제는 WordPress 루트 디렉토리에서 wp-login.php 파일을 수정하여 해결할 수 있습니다.

다음 코드를 찾습니다 (330 행에 대해).

$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

수정 대상 :

$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";

사실, 그 WP는-login.php 업그레이드 후 교체로는 ‘<‘와. “> \ R은 \ n”은 제거하지만,이 방법은 워드 프레스를 업그레이드 한 후에 만료됩니다, 당신은 WP-login.php를 수정해야 할 것입니다 , 첫 번째 방법이 권장됩니다.

수정 후 사용자는 암호를 정상적으로 설정할 수 있습니다.

[사용 예시 – 메일내용]


$msg .= sprintf(__('Username: %s'), $user->user_login) . "\r\n\r\n";
$msg .= __('가입 후 암호는 난수로 지정되어 있습니다. 아래 주소를 클릭 또는 복사하여 방문한 후 암호를 원하는 것으로 변경하세요.') . "\r\n\r\n";
$msg .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";

//$message .= wp_login_url() . "\r\n";

$wp_new_user_notification_email = array(
'to' => $user->user_email,
'subject' => __( '[%s] 사용자명과 암호 등록 주소 정보' ),
'message' => $msg,
'headers' => '',
);

 

사례 2, 사용자가 암호를 재설정하고 재설정합니다.

사용자가 잊어 버린 암호를 클릭하여 암호를 다시 편집하도록 선택하면 사용자에게 다음과 같은 문자가 전송됩니다.

 

위의 상황이 유사하다는 것을 알게되면 비밀번호 링크 주소와 “>”번호를 수정하십시오.

해결책

사이트의 wp-includes 폴더에 pluggable.php 파일을 다운로드하여 열고
다음 문을 찾으십시오.

$message .= '<'network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login')">\r\n\" ;

수정 대상 :

$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";

사용자는 일반 링크 재설정 비밀번호로 메시지를 수신 할 수 있습니다.

 

 

참고자료 : https://hddv.space/7545#must-use-plugins

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다