お問い合わせはコチラから

WordPressユーザ一覧にソート機能をつけるカスタマイズ

サイト運営

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の管理画面は狭いので、フィルタや並べ替えの機能を追加しておくと捗ります。

タイトルとURLをコピーしました