剛軍訓完就有位網友來請教小編,說是網站使用者在註冊網站時用郵箱接不到密碼,當時小編直接是叫這位網友使用 SMTP 發信來接收密碼。中午吃飯的時候小編想了想 SMTP 發信也有不好的地方,因為每個郵箱都有發信數量限制,萬一網站註冊使用者過多可能會造成郵箱暫時被禁封等影響,所以小編想了另一種 WordPress 註冊接不到密碼問題的解決方法:直接在註冊成功後顯示隨機生成的使用者密碼,並提示修改密碼。而且這樣處理更人性化。

1. 開啟 WordPress 根目錄下的 wp-login.php 檔案,在其中找到函式程式碼:

wp_new_user_notification($user_id,$user_pass);

register_new_user 函式用於註冊成功後傳送註冊通知

2. 在以上程式碼的下面新增以下程式碼:

setcookie("u",$user_login);

setcookie("user_pass",$user_pass);

這兩句是把註冊時使用者填寫的使用者名稱和隨機生成的密碼寫進 cookies

3. 再找到以下程式碼:

$errors->add('registered',__('Registrationcomplete.Pleasecheckyoure-mail.'),'message');

將其替換為

$errors->add('registered',__('註冊成功!使用者名稱:'.$_COOKIE["u"].'密碼:'.$_COOKIE["user_pass"].'(登入後自行修改成您便於記憶的密碼)'),'message');

4. 儲存檔案後即可。之後的使用者新註冊就會立即顯示密碼了,如下圖:

透過以上方法就可以完美解決 WordPress 網站註冊後郵箱接受不到密碼的問題了。