让WordPress后台显示用户注册时间的方法

admin 轻心小站 关注 LV.19 运营
发表于WordPress程序版块 教程

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

默认的WordPress 后台,用户是按照用户名排序的,并且没有显示注册时间,这就很难受,看着用户列表开头一堆数字或者一堆英文头都大了,而且没办法直接看到最近有哪些用户注册了。
如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,那该怎么做呢?
对于这两个问题,目前有两个办法可以解决:
第一种:代码版,此代码功能单一,仅显示注册时间。
使用方法:在当前主题的 functions.php 文件添加如下面的代码:

/** 让WordPress后台显示用户注册时间,并按照注册时间排序*/
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']."";
    }
});


效果如下图

Image

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: 让WordPress后台显示用户注册时间的方法

粉丝

0

关注

0

收藏

0

已有0次打赏