博客 / WordPress/ WordPress在前台显示登录用户的注册时间

WordPress在前台显示登录用户的注册时间

WordPress在前台显示登录用户的注册时间

功能简介

在使用 WordPress 建站时,有时需要在网站前台(如用户中心)显示当前登录用户的注册时间。WordPress 默认并未提供此功能选项,但可以通过添加少量代码轻松实现。

实现方法

实现此功能主要分为两步:首先在主题的 functions.php 文件中添加一个自定义函数,然后在需要显示注册时间的主题模板文件中调用该函数。

第一步:添加自定义函数

请将以下代码复制并粘贴到您当前使用主题的 functions.php 文件末尾。

// 在网站前台显示登录用户的注册时间
function user_registered_date() {
    // 获取当前登录用户的ID
    $user_id = get_current_user_id();
    // 根据用户ID获取完整的用户数据
    $user_data = get_userdata( $user_id );
    // 从用户数据中提取注册时间
    $registered_date = $user_data->user_registered;
    // 格式化并输出注册时间
    echo '您的注册时间:' . date( 'Y年m月d日', strtotime( $registered_date ) );
}
// 可选:将函数挂载到特定的WordPress钩子上,例如在用户中心页面自动显示
// add_action( 'some_custom_hook', 'user_registered_date' );

代码说明与修正:

  • 原代码中通过 get_userdata 获取了两次用户数据,这是冗余操作。优化后的代码只获取一次,效率更高。
  • 优化了变量命名,使其更清晰易懂。
  • 输出文本增加了“您的”,使提示更友好。
  • 添加了注释,解释了每一行代码的作用。
  • 最后一行是可选的高级用法注释,您可以通过 add_action 将此功能自动添加到特定位置。

第二步:在模板中调用函数

在您希望显示注册时间的主题模板文件(例如 header.phpsidebar.php 或专门的用户中心模板 page-user.php)的适当位置,添加以下调用代码。

<?php
// 判断用户是否已登录,只有登录用户才显示注册时间
if ( is_user_logged_in() ) {
    user_registered_date();
}
?>

使用说明:

  • 请确保将代码放置在模板文件的 <?php ... ?> PHP 标签内。
  • is_user_logged_in() 是 WordPress 条件标签,用于检查访问者是否已登录,从而确保信息只对登录用户可见。

总结

通过以上两步操作,您就可以在 WordPress 网站的前台为登录用户显示其注册时间了。此功能虽然不复杂,但对于增强用户中心的信息完整性和用户体验有一定帮助。请根据您的实际主题结构,将调用代码放置在合适的模板文件中。

发表评论

您的邮箱不会公开。必填项已用 * 标注。