四合一簡化 WordPress 我的信息,更符合國人使用習慣

今天縉哥哥想增長我的信息字段,方便管理中醫體質檔案,但是發現默認狀況下,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

相關文章
相關標籤/搜索