找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 2073|回复: 0

WordPress后台用户列表显示用户注册时间并排序

[复制链接]

32

主题

0

回帖

116

积分

管理员

积分
116
发表于 2024-12-18 09:45:47 | 显示全部楼层 |阅读模式
前言
在 WordPress 后台的用户列表界面,用户是按照用户名排序的,并且没有显示注册时间,如果我们希望能够在后台看到用户的注册时间,并且按照注册时间排序,可以通过下面的步骤实现
教程
在主题的function.php 中添加如下代码,CoreNext主题添加到子主题的function.php 中。
1.在用户列表添加「注册时间」列:
  1. add_filter('manage_users_columns', function($column_headers){
  2.         $column_headers['registered'] = '注册时间';
  3.         return $column_headers;
  4. });
复制代码
2. 显示用户的「注册时间」:
  1. add_filter('manage_users_custom_column', function($value, $column_name, $user_id){
  2.         if($column_name=='registered'){
  3.                 return get_date_from_gmt(get_userdata($user_id)->user_registered);
  4.         }else{
  5.                 return $value;
  6.         }
  7. },11,3);
复制代码
3. 设置「注册时间」列可以排序:
  1. add_filter('manage_users_sortable_columns', function($sortable_columns){
  2.         $sortable_columns['registered'] = 'registered';
  3.         return $sortable_columns;
  4. });
复制代码
4. 默认或者使用「注册时间」排序的处理:
  1. add_action('pre_user_query', function($query){
  2.         if(!isset($_REQUEST['orderby']) || $_REQUEST['orderby']=='registered' ){
  3.                 if( !in_array($_REQUEST['order'],array('asc','desc')) ){
  4.                         $_REQUEST['order'] = 'desc';
  5.                 }
  6.                 $query->query_orderby = "ORDER BY user_registered ".$_REQUEST['order']."";
  7.         }
  8. });
复制代码
上面的代码在默认的情况下,或者用户点击「用户注册」列,都按照「用户注册」进行排序。

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【赶紧来试试吧】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|奥多也网络 ( 粤ICP备2020119241号 )

GMT+8, 2025-12-9 05:42 , Processed in 0.073863 second(s), 26 queries .

Powered by AODUOYE

©2017-2026

快速回复 返回顶部 返回列表