默認(rèn)的WordPress后臺里,對于用戶列表的展現(xiàn),可能趨于國外化,即主要以用戶名和姓名的形式來展現(xiàn),而到了國內(nèi)的站點,大多數(shù)是希望展現(xiàn)昵稱,也只有通過昵稱方可知曉該賬號是哪位;
但在默認(rèn)的WordPress后臺是無昵稱一欄顯示的,則需要我們稍微修改一下規(guī)則;
將下面的代碼添加到主題的 functions.php 即可
add_filter('manage_users_columns', 'add_user_nickname_column');
function add_user_nickname_column($columns) {
$columns['user_nickname'] = '昵稱';
unset($columns['name']);
return $columns;
}
add_action('manage_users_custom_column', 'show_user_nickname_column_content', 20, 3);
function show_user_nickname_column_content($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
$user_nickname = $user->nickname;
if ( 'user_nickname' == $column_name )
return $user_nickname;
return $value;
}
并且支持在后臺以昵稱進行搜索賬號,代碼如下
//支持后臺昵稱搜索
function wpkj_extend_user_search( $u_query ){
// 確保代碼僅應(yīng)用于用戶搜索
if ( $u_query->query_vars['search'] ){
$search_query = trim( $u_query->query_vars['search'], '*' );
if ( $_REQUEST['s'] == $search_query ){
global $wpdb;
// 添加昵稱搜索查詢語句
$u_query->query_from .= " JOIN {$wpdb->usermeta} fname ON fname.user_id = {$wpdb->users}.ID AND fname.meta_key = 'nickname'";
// 設(shè)置可搜索的字段
$search_by = array( 'user_login', 'user_email', 'fname.meta_value' );
// 應(yīng)用到搜索
$u_query->query_where = 'WHERE 1=1' . $u_query->get_search_sql( $search_query, $search_by, 'both' );
}
}
}
add_action('pre_user_query', 'wpkj_extend_user_search');