當注冊WordPress帳戶時進行郵箱驗證,郵箱成功收到郵件,但點擊郵件鏈接后結果發現顯示“您的密碼重設鏈接無效,請在下方請求新鏈接。”。
其實是郵箱發送的地址后面多了個”>”號,本來是WordPress為了美觀,前后加上了尖括號,結果適得其反,被郵箱解析到地址里面去了,點擊后自然會是無效的了。
方法一:
解決的方法很簡單,把下面的代碼加入當前主題的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);
這種方法的缺點就是更換主題后需要重新添加代碼。
方法二:
當然,網上也有另外一種方法那就是修改WordPress目錄下的wp-login.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_login), 'login') ;
其實也就是把'<‘ .和. “>/r/n”去掉,但是這種方法在升級Wordpress后會失效,因為升級后wp-login.php會被替換,需要重新修改wp-login.php,所以推薦使用第一種方法。
新聞熱點
疑難解答
圖片精選