Buddypress 社群中有很多地方會直接顯示使用者登入名,比如使用者個人主題中的名稱和連結中,所有來訪的使用者都知道了管理員的使用者名稱,對於小人知道了管理員的使用者登入名是很不安全,所以我們要讓顯示名與使用者名稱區別開。
一、修改使用者個人頁面中的 @名稱
找到 Buddypress 模板檔案下的 member-header.php 檔案 (外掛路徑:buddypressbp-templatesbp-legacybuddypressmemberssingle),複製到主題對應的目錄下。
查詢 member-header.php 檔案中的:
- <?php bp_displayed_user_mentionname(); ?>
替換為:
- <?php bp_displayed_user_fullname(); ?>
修改了這一步還不行,再到編輯使用者頁面把 「公開顯示為」 設定為要顯示的名稱,這樣使用者個人頁面中的 @名稱就顯示了選擇後的名稱。
二,把連結中顯示的名稱與使用者登入名區分開
這一步我們需要修改資料庫,但是很簡單,不用被嚇著。
1 、進入到當前網站的資料庫中,找到 wp_users 中需要修改的使用者,一般都是管理員了,點選 「編輯」
2 、在編輯使用者資料頁面我們可以看到使用者名稱在兩處有顯示,表分別為 user_login 和 user_nicename,即為使用者登入名和使用者暱稱。 WP 註冊過程中這兩個表的資料是一樣的,在 WP 頁面中是更改不了,而編輯使用者頁面中的 「暱稱」 與 user_nicename 不是一個東西,所以只能修改資料庫,把 user_nicename 表中的值修改成與 user_login 不同就可以。
現在連結中顯示的名稱就只是 user_nicename 這個資料表中的值,這樣就大大提高了管理員賬號的安全性。
除了 Buddypress 中會直接顯示使用者登入名,很多網站中會把作者的文章都列出來,而連結中也會顯示使用者登入名,也因為此很多網站沒有作者連結,如果修改 user_nicename 表與 user_login 中的值區分開,這樣是不是很好。