今天縉哥哥想增長我的信息字段,方便管理中醫體質檔案,但是發現默認狀況下,WordPress 後臺讓用戶能夠在後臺設置:姓,名,暱稱,而後選擇顯示的名稱。大概就是下圖這個樣子:php
簡直神煩有木有?搞的跟個外國佬同樣,中國哪那麼複雜,頂多也就姓名、暱稱、顯示三項。後面一想,通常人總不會顯示姓名吧,那顯示的選項也就沒有必要了,爲何不直接留個暱稱就行了呢?html
其實只是用來寫寫博客,不多的編輯會填這麼多的東西,可是若是刪掉的話,又怕某些字段須要引用,因此最好的方法就是把他們隱藏起來,看了一下 WordPress 源代碼,名稱設置這裏居然沒有 filter,沒有filter 那就用 JS 來隱藏,而後提交的時候,把顯示的名稱強制設置爲暱稱就行了。ide
最後的代碼以下,一樣複製到當前主題的 functions.php 文件便可:htm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/** * 四合一簡化 WordPress 後臺用戶我的信息姓名暱稱設置 * https://www.dujin.org/fenxiang/wp/10138.html */ add_action('show_user_profile','wpjam_edit_user_profile'); add_action('edit_user_profile','wpjam_edit_user_profile'); function wpjam_edit_user_profile($user){ ?> <script> jQuery(document).ready(function($) { $('#first_name').parent().parent().hide(); $('#last_name').parent().parent().hide(); $('#display_name').parent().parent().hide(); $('.show-admin-bar').hide(); }); </script> <?php } //更新時候,強制設置顯示名稱爲暱稱 add_action('personal_options_update','wpjam_edit_user_profile_update'); add_action('edit_user_profile_update','wpjam_edit_user_profile_update'); function wpjam_edit_user_profile_update($user_id){ if (!current_user_can('edit_user', $user_id)) return false; $user = get_userdata($user_id); $_POST['nickname'] = ($_POST['nickname'])?:$user->user_login; $_POST['display_name'] = $_POST['nickname']; $_POST['first_name'] = ''; $_POST['last_name'] = ''; } |
怎麼樣,是否是好看多了!簡潔明瞭,也不用填寫屢次了……ip