WordPress 后台用户根据注册时间排序

张子凡 WordPress建站 2015-06-22 21:02:23 阅读(...) 评论(0)

对于一个不论前端后端都极力最求极致的人来说,要不不开始,要么就要全力做到最好。当然我不是最好的啦,只是一直最求更好啦!

还记得之前子凡在泪雪博客就分享过一个《WordPress 后台文章列表按更新时间排序》的文章,自我感觉还是非常的实用的,那么这一次就是《WordPress 后台用户根据注册时间排序》了,因为最近子凡一直在循环折腾泪雪旗下的一些网站,其中泪雪建站中由于是做在线购买的一个平台,有时候对于用户的数据需要一个了解和整理,而 WordPress 的注册用户默认是按照用户名排序的,而我们实际中更需要根据注册时间来做浏览。

在当前主题的 functions.php 中添加以下 php 代码即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//WordPress 后台用户根据注册时间排序
//添加用户注册时间列
add_filter( 'manage_users_columns', 'my_users_columns' );
function my_users_columns( $columns ){
    $columns[ 'registered' ] = '注册时间';
    return $columns;
}
//通过 manage_users_custom_column 钩子返回值排序
add_action( 'manage_users_custom_column', 'output_my_users_columns', 10, 3 );
function  output_my_users_columns( $var, $column_name, $user_id ){
    switch( $column_name ) {
        case "last_activity" :
            return get_user_meta($user_id, 'last_activity', true);
        case "registered" :
            return get_user_by('id', $user_id)->data->user_registered;
        case "sex" :
            return get_user_meta($user_id, 'sex', true);
        case "occ" :
            return get_user_meta($user_id, 'occ', true);
        case "qq" :
            return get_user_meta($user_id, 'qq', true);
            break;
    }
}
//让添加的“注册时间”可以点击,也就是添加链接并且右边有一个小箭头
add_filter( "manage_users_sortable_columns", 'wenshuo_users_sortable_columns' );
function wenshuo_users_sortable_columns($sortable_columns){
    $sortable_columns['registered'] = 'registered';
    return $sortable_columns;
}
//最后根据浏览器的 url,重新设置 wordpress 的查询函数
add_action( 'pre_user_query', 'wenshuo_users_search_order' );
function wenshuo_users_search_order($obj){
    if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='registered' ){
        if( !in_array($_REQUEST['order'],array('asc','desc')) ){
            $_REQUEST['order'] = 'desc';
        }
        $obj->query_orderby = "ORDER BY user_registered ".$_REQUEST['order']."";
    }
}

以上就是 wordpress 后台用户列表添加注册时间以及按注册时间排序的全部代码。

除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

本文链接:https://zhangzifan.com/wordpress-set-user-order-in-admin.html

发表评论