Wordpress管理画面のユーザ一覧にUltimate Memberのカスタムフィールドを表示する方法
Ultimate Memberを使っていると、Wordpress管理画面のユーザ一覧にUltimate Memberのカスタムフィールドを表示したくなるよね?
ついでに表示順や表示内容のカスタマイズも。
functions.php
/////////////////////////////////////////////////////////////////
// 管理画面のユーザー一覧のカスタマイズ
function add_users_columns( $columns ) {
$columns['ID'] = '管理番号';
$columns['um_custom'] = 'カスタムフィールド'; // 「um_custom」の部分は任意(*1)、「カスタムフィールド」の部分は一覧のカラム名
$columns['columns_nickname'] = '名前';
$columns['last_login_time'] = '最終ログイン';
unset($columns['name'],$columns['account_status']);
$sort_number = array(
'ID' => 0,
'username' => 1, //ユーザー名
'um_custom' => 2, //カスタムフィールド *1と同じもの
'columns_nickname' => 3, //ニックネーム
'email' => 4, //メールアドレス
'role' => 5, //権限グループ
'posts' => 6, //投稿
'last_login_time' => 7 //最終ログイン
);
$sort = array();
foreach($columns as $key => $value){
$sort[] = $sort_number{$key};
}
array_multisort($sort,$columns);
return $columns;
}
function add_users_custom_column( $dummy, $column, $user_id ) {
if ( $column == 'ID' ) {
$user_info = get_userdata($user_id);
return $user_info->ID;
}
if ( $column == 'columns_nickname' ) {
$user_info = get_userdata($user_id);
return $user_info->nickname;
}
if ( $column == 'um_custom' ) { // UMカスタムフィールド
um_fetch_user( $user_id );
return um_user('custom'); // メタキーを設定
}
if ( $column == 'last_login_time' ) {
$last_login_time = get_user_meta( $user_id, 'last_login_time', true );
$output = ( $last_login_time ) ? date( 'Y-m-d H:i', $last_login_time ) : '-';
return $output;
}
}
add_filter( 'manage_users_columns', 'add_users_columns' );
add_filter( 'manage_users_custom_column', 'add_users_custom_column', 10, 3 );