在 WordPress 后台用户列表显示用户注册时间,并按照注册时间排序

在 WordPress 后台的用户列表界面,用户是按照用户名排序的,并且没有显示注册时间,如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,可以通过下面的步骤实现。

WordPress 后台的用户列表界面,用户是按照用户名排序的,并且没有显示注册时间,如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,可以通过下面的步骤实现:

1. 在用户列表添加「注册时间」列:

add_filter('manage_users_columns', function($column_headers){
	$column_headers['registered'] = '注册时间';
	return $column_headers;
});

2. 显示用户的「注册时间」:

add_filter('manage_users_custom_column', function($value, $column_name, $user_id){
	if($column_name=='registered'){
		return get_date_from_gmt(get_userdata($user_id)->user_registered);
	}else{
		return $value;
	}
},11,3);

3. 设置「注册时间」列可以排序:

add_filter('manage_users_sortable_columns', function($sortable_columns){
	$sortable_columns['registered'] = 'registered';
	return $sortable_columns;
});

4. 默认或者使用「注册时间」排序的处理:

add_action('pre_user_query', function($query){
	if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='registered' ){
		if( !in_array($_REQUEST['order'],array('asc','desc')) ){
			$_REQUEST['order'] = 'desc';
		}
		$query->query_orderby = "ORDER BY user_registered ".$_REQUEST['order']."";
	}
});

上面的代码在默认的情况下,或者用户点击「用户注册」列,都按照「用户注册」进行排序。最后的效果:

在 WordPress 后台用户列表显示用户注册时间,并按照注册时间排序

原创文章,作者:howkunet,如若转载,请注明出处:https://www.intoep.com/wp/63187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月7日 16:00
下一篇 2024年3月13日 16:13

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部