如何實現使用者登入WordPress後重定向

如何實現使用者登入WordPress後重定向

你可能會驚訝於一個微小的改變會帶來多大的不同,而當你不知道如何改變時,這樣一個小功能又會給你帶來多大的煩惱。

您可能已經注意到,使用者登入後總是會被重定向到某個頁面,而這對您的網站來說並不一定合理。使用者登入後在哪裡登陸對使用者體驗的影響可能比你想象的要大,可以節省他們的時間或防止混亂。

但要編輯這個不起眼的小功能,該從何下手呢?如果您想更改 WordPress 中的登入重定向頁面,本教程將指導您使用外掛或手動編寫 PHP 程式碼。

為什麼要在登入後重定向 WordPress 使用者?

預設情況下,所有使用者登入後都會被引導到管理儀表盤。雖然他們只能看到儀表板中他們有權訪問的部分並與之互動(例如,訂閱者只能編輯他們的個人資料),但這並不總是理想的行為。

根據你執行的網站型別,將新登入傳送到其他地方可能更有意義。您甚至可能希望將不同角色的使用者完全重定向到不同的頁面(管理員重定向到儀表板,使用者重定向到主頁,等等)。

舉幾個例子說明你可能想更改的內容:

  • 將使用者直接導向主頁,避免與後端進行任何互動。
  • 將使用者傳送到他們的公開資料頁面。
  • 讓使用者返回登入前的頁面。
  • 對於會員制網站,將登入的使用者傳送到鎖定文章或視訊的頁面。
  • 對於論壇,將使用者傳送到主論壇頁面。
  • 對於電子商務網站,將購物者傳送到商店頁面、他們的願望清單、購物車等。

許多主題和外掛也會改變這一點。也許您已經注意到,使用者在登入時突然被重定向到主頁,因此想把它改回來。

雖然這只是一個很小的使用者體驗元素,許多網站可能永遠不會注意到或改變它,但它卻能對使用者產生出人意料的巨大影響,讓使用者在瀏覽網站時不再那麼迷茫。

遺憾的是,WordPress 沒有內建更改登入重定向頁面的設定。如果您想把使用者傳送到其他地方,就必須使用外掛或自己編寫程式碼。

如何在 WordPress 使用者登入後重新定向

準備好進行這一微小而重要的更改了嗎?您有兩個選擇: 下載一個外掛,或者修改網站程式碼。

自己編寫程式碼肯定有一些優點。如果你精通 PHP,就能完全控制登入重定向的操作。你不需要依賴那些可能無法滿足你需要的外掛,也不需要用更多的外掛來拖累你的網站。

另一方面,並不是每個人都懂程式碼,一行錯誤的程式碼可能會把網站搞得一團糟,因此不建議初學者手動處理。外掛更容易使用,而且不需要反覆試驗就能確保程式碼正常工作。

使用外掛重定向

外掛是一種只需簡單設定就能快速完成任務的方法。在這裡,我們挑選了三個最好的外掛,供你用來編輯登入重定向 URL

具有這種功能的外掛並非只有這些;例如,WPForms(及其使用者登錄檔單外掛)和 WP User Manager 也提供登入重定向以及其他功能。

有些主題也會更改重定向頁面,但很難專門搜尋到有這種功能的主題。

但這三個外掛主要用於登入重定向。它們的檔案很小,不會新增任何不必要的功能。

LoginWP

LoginWP

LoginWP

第一個外掛是 LoginWP,它可以為特定使用者和角色設定重定向規則,還可以更改使用者註冊重定向。

專業版可以與十多個不同的外掛整合,最顯著的是可以讓你將使用者重定向到他們登入的頁面。如果你想實現這一目標,要麼付費,要麼試試其他外掛。

不過,LoginWP 可以免費使用,而且功能強大,重定向規則簡單。

要開始使用,請從外掛 > 安裝外掛中安裝 LoginWP,然後在側邊欄中查詢新的 LoginWP 選單專案。導航至 LoginWP > Redirections

使用 LoginWP 外掛設定重定向規則

使用 LoginWP 外掛設定重定向規則。

這裡有多個設定可以更改,但請檢視 All Other Users 標題和 Login URL 選項。將其更改為你想要的 URL,然後點選 Save Changes。這將適用於所有登入使用者。

如果要設定有條件的 URL 重定向,比如針對某些使用者角色呢?在這種情況下,單擊 Add New 按鈕設定重定向規則。您可以根據單個使用者、角色,甚至可能跨越多個角色的某些使用者能力來設定規則。

使用 LoginWP 外掛建立條件規則

使用 LoginWP 外掛建立條件規則。

設定 Order,以便在兩條規則發生衝突時,優先選擇數字最小的規則。然後在 Login URL 框中輸入要重定向的網址,點選 Save Rule

就這麼簡單。您可以使用這些規則讓管理員不受全域性重定向規則的限制,或將某些使用者引導至特殊頁面。

Sky Login Redirect

Sky Login Redirect

Sky Login Redirect

作為一款免費外掛,Sky Login Redirect 功能非常強大。它可以讓你設定重定向規則,自定義登入頁面的外觀,並啟用一些小的調整,如自動選中 “記住我 ”框或刪除頁面上的某些連結。

專業版與 WooCommerce 或 Easy Digital Downloads 等多個外掛整合,還增加了內容限制等額外的可選功能。

安裝 Sky Login Redirect 後,請訪問新的 Login Redirect 連結,確保您位於 Redirects 選項卡上。單擊 Add Entry 開始操作。

設定重定向登入和登出

在 Sky Login Redirect 外掛中設定重定向登入和登出。

選擇是否重定向所有使用者、特定使用者或特定角色。然後選擇是將登入和登出重定向到前一頁、特定頁面/URL,還是隻重定向到 WordPress 管理頁面。

拖放規則可更改重定向規則的執行順序(例如當使用者有多個角色時)。數字越小,優先順序越高,因此先設定特定使用者的規則,最後再設定一般規則。

完成後,單擊右上角的 Save Changes

如果你想制定針對使用者或角色的規則,你還需要設定一個額外的規則來適用於其他使用者,即使只是保持預設的重定向到管理頁面的行為。

WP Login and Logout Redirect

WP Login and Logout Redirect

WP Login and Logout Redirect

如果您正在尋找最簡單、最小的外掛,那麼 WP Login and Logout Redirect 可能就是您的不二之選。你可能對其他兩個外掛提供的任何額外功能都不感興趣,而這個外掛則直奔主題。

安裝後,你會在側邊欄發現新的 Redirect Options 選單。點選它,你會看到兩個方框:Login Redirect URLLogout Redirect URL。輸入你想要的 URL,然後點選 Save Changes,就大功告成了。

WP Login and Logout Redirect 外掛中的重定向選項

WP Login and Logout Redirect 外掛中的重定向選項。

該外掛還增加了一項額外功能: 在 Users > All Users 中,你會看到一個新的 Last Login,它會顯示使用者最後登入的日期和時間。這是一個小而精的額外功能。

使用自定義程式碼重定向

如果您不想使用外掛,或者外掛不適合您,或者您想做一些外掛無法處理的事情,那麼您可能需要編寫自己的自定義程式碼。只建議高階使用者和熟悉 PHP 的使用者這樣做。當然,如果不放心,也可以聘請開發人員。

在插入和執行程式碼前,應備份網站,以防萬一。如果出了問題,比如進入維護模式或陷入無盡的重定向迴圈,可以隨時恢復備份。

要編寫自己的自定義重定向程式碼,應先熟悉 login_redirect 過濾器。本頁將解釋該過濾器的工作原理,並在註釋中提供了一些應用這些知識的示例。

下面是一個非常簡單的示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function custom_login_redirect() {
return 'home_url()';
}
add_filter('login_redirect', 'custom_login_redirect');
function custom_login_redirect() { return 'home_url()'; } add_filter('login_redirect', 'custom_login_redirect');
function custom_login_redirect() {
return 'home_url()';
}
add_filter('login_redirect', 'custom_login_redirect');

這段程式碼將使所有使用者在登入網站時重定向到主頁。這就是它的作用!如果您願意,可以將 “home_url()” 改為您選擇的 URL。例如,將 “home_url()” 改為 “/blog”,使用者就會跳轉到網站的部落格頁面。

程式碼已經寫好了,該放在哪裡呢?您有兩個選擇: 第一種是直接編輯主題檔案,第二種是使用外掛插入程式碼。

如果您選擇編輯主題檔案,您應該先製作一個子主題,否則下次 WordPress 或主題更新時,您可能會發現重定向規則突然消失了。

雖然您可以通過 FTP 或程式碼編輯器編輯 WordPress 檔案,但這並非必要。WordPress 自帶檔案編輯器,就在您的儀表板中。從外觀 > 主題檔案編輯器開始。在右側的主題檔案側邊欄中,查詢主題函式檔案(functions.php並點選它。滾動到底部,將上述程式碼放入其中。然後點選更新檔案

之後,退出並重新登入進行測試。一切都應按預期執行。

如果你不想處理子主題,一個更簡單的方法是安裝一個可以插入程式碼的外掛。為此,我們將使用 Code Snippets

Code Snippets

Code Snippets

這樣做的一大好處是,如果你想編輯程式碼或快速禁用程式碼,將非常容易找到。每個程式碼片段都包含在自己的頁面中,易於訪問。

安裝程式碼片段外掛,然後前往 Snippets > Add New。確保您在 Functions 選項卡上,然後貼上您的程式碼或我們的示例。將其保持在 Run snippet everywhere 狀態。完成後 Save Changes Activate

使用 Code Snippets 外掛新增新片段

使用 Code Snippets 外掛新增新片段。

無論你選擇哪種方法,都會發現新的登入規則執行完美。

但這不僅會影響你自己,也會影響其他人,所以一定要小心謹慎,並確保測試你的新規則。

小結

使用者體驗是網頁設計的重要組成部分。它看似並不重要,但使用者登入時最終進入的頁面卻會產生重大影響。您可以利用它將使用者引導到您希望他們去的地方,或者防止混亂,節省他們的時間。

如果 WordPress 的預設登入重定向規則不合適,您可以手動或使用外掛自行設定。後者最簡單,但每種方法都有其優點。

評論留言