共计 1298 个字符,预计需要花费 4 分钟才能阅读完成。
原创文章,转载请注明: 转载自cnorg.12hp.de
目前在WordPress后台的用户列表界面,默认情况下,用户是按照用户名进行排序的。而且,注册时间这一信息并没有直接显示在列表中。为了能够看到用户的注册时间,并且能够按照这个时间来排序用户,我们可以采取一些步骤来实现这个需求。这些步骤包括添加自定义列、显示注册时间、以及设置排序功能,从而使得管理员能够更有效地管理用户。
首先,我们需要在用户列表中添加一个显示「注册时间」的列:
使用的代码语言是JavaScript。
add_filter('manage_users_columns', function($column_headers){
$column_headers['registered'] = '注册时间';
return $column_headers;
});
接下来,我们需要确保用户的「注册时间」能够在用户列表中显示出来:
使用的代码语言是JavaScript。
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);
然后,我们需要设置「注册时间」这一列可以进行排序:
使用的代码语言是JavaScript。
add_filter('manage_users_sortable_columns', function($sortable_columns){
$sortable_columns['registered'] = 'registered';
return $sortable_columns;
});
最后,我们需要处理默认情况下或者用户点击「注册时间」列时,按照「注册时间」进行排序:
使用的代码语言是JavaScript。
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后台的用户列表中添加了「注册时间」列,并且实现了按照注册时间排序的功能。现在,管理员可以更方便地根据用户的注册时间来管理用户列表了。这使得用户管理变得更加高效和直观,管理员可以轻松地识别新用户,或者根据注册时间对用户进行分组和筛选,从而优化网站的用户管理策略。

正文完
发表至: WordPress主题
2025-10-01






