首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在 WordPress 后台用户列表显示用户注册时间,并按照注册时间排序

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

作者头像
Denis
发布2023-04-13 13:53:29
发布2023-04-13 13:53:29
1.6K00
代码可运行
举报
文章被收录于专栏:WordPress果酱WordPress果酱
运行总次数:0
代码可运行

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

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

代码语言:javascript
代码运行次数:0
运行
复制
add_filter('manage_users_columns', function($column_headers){
	$column_headers['registered'] = '注册时间';
	return $column_headers;
});

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

代码语言:javascript
代码运行次数:0
运行
复制
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. 设置「注册时间」列可以排序:

代码语言:javascript
代码运行次数:0
运行
复制
add_filter('manage_users_sortable_columns', function($sortable_columns){
	$sortable_columns['registered'] = 'registered';
	return $sortable_columns;
});

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

代码语言:javascript
代码运行次数:0
运行
复制
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']."";
	}
});

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档