WordPress代码:增加用户注册时间信息,并按照注册时间进行排序

2020年5月31日技巧分享评论112,842字数 1119阅读3分43秒阅读模式

相信每一位站长都很喜欢看注册用户的数值,看看今天又有多少人注册了。

但在默认的W ordPress 后台,用户是按照用户名排序的,并且没有显示注册时间,这就很难受,看着用户列表开头一堆数字或者一堆英文头都大了,而且没办法直接看到最近有哪些用户注册了。

如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,那该怎么做呢?
可以通过在当前主题的 functions.php 文件添加如下面的代码即可:

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

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


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

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

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定