WordPressの会員サイトなどを運営していて、会員数が増えてくると困ることがあります。

最近登録されたユーザーを確認したい

WordPressのユーザー一覧は登録順に並んでいないので100人を超え始めると探すのが大変
この記事では、Wordpressダッシュボードの登録ユーザー一覧を並べ替えられるカスタマイズについてご紹介します。
WordPressユーザー一覧をソートする
ユーザーの各項目のmetaキーがわかれば、その列をソート可能にするカスタマイズは簡単です。
manage_users_sortable_columns filter hookを使います。 $columns['メタキー'] = '列のタイトル名';
並べていけば、必要なだけ追加することができます。
カスタマイズコード
function my_manage_users_sortable_columns( $columns ) {
$columns['user_registered'] = '登録日時';
$columns['user_id'] = 'ユーザー ID';
return $columns;
}
add_filter( 'manage_users_sortable_columns', 'my_manage_users_sortable_columns' );
登録順に並べ替えたい
登録順に ユーザー一覧を並べ替える時は、登録日時を使うよりもユーザーIDを使う方が簡単です。
WordPressのID系は、登録されるたびに+1つづ増えるようになっているので、ユーザーIDが大きくなるほど登録が新しいことになるからです。
先ほどのカスタマイズのコードは、ユーザIDで並べ替えられるようになっています。
初期状態でユーザー一覧を登録順に表示する
以下のコードを使うと、ユーザー一覧を開いたときに登録順に表示されます。
function my_pre_user_query_orderby_registered( $query ) {
global $pagenow;
if ( is_admin() && $pagenow === 'users.php' && ! isset( $_GET['orderby'] ) ) {
$query->query_orderby = 'ORDER BY user_registered DESC';
}
}
add_action( 'pre_user_query', 'my_pre_user_query_orderby_registered' );
まとめ
WP Membersなどのプラグインでユーザー一覧を表示させたときに100人を超えたあたりで管理画面での閲覧は破綻し始めます。

WordPressの管理画面は狭いので、フィルタや並べ替えの機能を追加しておくと捗ります。