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 );