🎁 惊喜福利!即日起,联系客服 19138171052,即可免费领取价值20元的优惠券,数量有限,先到先得!活动截止至 2025年6月20日,赶快行动吧!

🗂 如何在 WordPress 后台用户管理页面添加“注册日期”列(本地时区显示)

文章目录

在默认的 WordPress 后台“用户”管理页面中,我们可以看到用户名、邮箱、角色等信息,但却没有一个重要的数据:用户的注册日期。对于站点管理员而言,了解每个用户何时注册,有助于更好地分析用户活跃度、过滤可疑账号,甚至用于会员营销活动。

在本篇教程中,我将教你如何通过简单的代码,在“用户”列表页添加一列“注册日期”,并且让它支持排序并正确显示为你设置的本地时区时间

🧩 步骤一:添加列标题

我们使用 WordPress 提供的 manage_users_columns 过滤器来新增一个名为“注册日期”的列:

add_filter('manage_users_columns', 'add_user_register_date_column');
function add_user_register_date_column($columns) {
    $columns['register_date'] = '注册日期';
    return $columns;
}

📅 步骤二:显示用户注册时间(本地时区)

默认情况下,user_registered 显示的是 UTC 时间。如果你希望注册时间与 WordPress 后台设置的时区一致(例如中国标准时间 CST),可以这样写:

add_action('manage_users_custom_column', 'show_user_register_date_column_content', 10, 3);
function show_user_register_date_column_content($value, $column_name, $user_id) {
    if ('register_date' == $column_name) {
        $user = get_userdata($user_id);

        // 获取站点时区
        $timezone = wp_timezone(); // WordPress 5.3+
        $datetime = new DateTime($user->user_registered, new DateTimeZone('UTC'));
        $datetime->setTimezone($timezone);

        return $datetime->format('Y-m-d H:i');
    }
    return $value;
}

🔃 步骤三:启用列排序功能

为了让管理更加高效,我们可以让“注册日期”这一列支持排序功能,只需添加以下代码:

add_filter('manage_users_sortable_columns', 'make_user_register_date_column_sortable');
function make_user_register_date_column_sortable($columns) {
    $columns['register_date'] = 'user_registered';
    return $columns;
}

✨ 高级扩展建议

  • 时间格式优化:你可以使用 Y年m月d日 H:idate_i18n() 显示本地格式。
  • 🔒 权限控制:可结合 current_user_can() 判断是否为管理员,控制是否显示该列。
  • 📊 数据分析:进一步扩展,结合用户注册趋势图、活跃度评分等功能。

📝 总结

通过简单的 3 步,我们就为 WordPress 用户管理列表增强了一项实用的功能:“注册日期”列,并且准确反映了你设置的本地时区时间。这对于中大型站点的用户管理尤其重要,也是提升后台可用性的小技巧。

你是否也有在使用 WordPress 做多用户站点?欢迎在评论区分享你的技巧和问题!

发表回复

相关文章
主题推荐
还没有账号?

会员注册

成为会员,获得更多专属优惠!

验证码: 加载中... =

已有账号?