wordpress后台所有用户根据注册时间排序

wordpress的注册用户排序是随机的,有时我们想看看哪些用户是最新注册的就得一个个找比较麻烦,加个按照注册用户排序是很有必要的,将下面的代码放到function.php中,刷新一下后台看看吧。

//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",'xxzhuti_users_sortable_columns' );
function xxzhuti_users_sortable_columns($sortable_columns){
    $sortable_columns['registered'] = 'registered';
    return $sortable_columns;
}
//最后根据浏览器的 url,重新设置 wordpress 的查询函数
add_action( 'pre_user_query','xxzhuti_users_search_order' );
function xxzhuti_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的默认接口路由改掉,愿意是默认的带一个 wp...
wordpress自定义分类法之后,我看到链接都自动在后面添加了一...
事情是这样的,我用 get_post_type 函数创建了一个自定义分类...
最近网站莫名其妙的被顶上了,过一个多小时,就注册一个账号...
最近服务器要到期了,就想着把网站转移到另外一台服务器,本...
今天在写wordpress的接口,然后碰到个奇怪的问题,怎么访问都...