You are here:  Home » PHP » 如何在WordPress中显示用户注册日期

您想在WordPress显示用户注册日期吗?通常受欢迎的会员网站和论坛将个人资料中的用户注册日期显示为“自2015年以来的会员”。在本文中,我们将介绍如何在WordPress中显示用户注册日期。

Showing a the date of a user

您希望在何处以及如何显示用户注册日期?

有些人可能只想在“用户”页面的管理列中显示用户的注册日期。这将使您快速了解用户何时加入您的网站并允许您按注册日期排序。

另一种使用方案是在“编辑个人资料”页面上显示用户的注册日期。这将允许任何管理员和用户自己查看他们何时加入您的网站。

最后但可能最受欢迎的使用方案是,您希望在其网站前端的公开个人资料中显示用户注册日期。

让我们来看看如何做到这一切。

在管理区域的用户页面上添加注册日期列

您需要做的第一件事是安装并激活管理列插件。激活后,您需要访问设置»管理列来配置插件。

Add registered column in users table

在“管理列”选项卡下,单击“用户”,然后单击“添加列”按钮。

然后在“类型”下拉菜单中选择“已注册”,然后单击“商店更新”按钮。

您现在可以访问用户屏幕,在该屏幕中您将看到一个标记为“已注​​册”的新列,其中显示用户在您的WordPress网站上注册的日期。

Users table with registration date column

看看你可以做些什么来添加和自定义WordPress中的管理列。

在用户个人资料中显示注册日期字段

要在编辑个人资料页面上显示注册日期,您需要将自定义插件上传到您的网站。

只需使用记事本等文本编辑器在计算机上创建一个新文件,并将其保存为桌面上的 membersince.php

接下来打开文件并将以下代码粘贴到其中。

<?php
/*
Plugin Name: Member Since
Plugin URI:  https://www.wpbeginner.com
Description: Adds registration date on edit user profile screen. 
Version:     1.0
Author:      WPBeginner
*/


namespace ShowMemberSince;
add_action( "plugins_loaded", "ShowMemberSince\init" );
/**
 * Adding needed action hooks
*/
function init(){
  foreach( array( "show_user_profile", "edit_user_profile" ) as $hook )
		add_action( $hook, "ShowMemberSincedd_custom_user_profile_fields", 10, 1 );
}
/**
 * Output table
 * @param object $user User object
 */
function add_custom_user_profile_fields( $user ){
	$table =
	"<h3>%1$s</h3>
	<table class="form-table">
		<tr>
			<th>
				%1$s
			</th>
			<td>
				<p>Member since: %2$s</p>
			</td>
		</tr>
	</table>";
	$udata = get_userdata( $user-ID );
	$registered = $udata->user_registered;
	printf(
		$table,
		"Registered",
		date( "M Y", strtotime( $registered ) )
	);
}
?>

保存文件,然后将其上传到WordPress网站

最后,您可以使用FTP客户端连接到WordPress网站,然后转到 / wp-content / plugins / 文件夹。从计算机中选择membersince.php文件,然后将其上载。

现在您可以转到您的WordPress插件页面并在您的网站上激活此插件。

就这样。通过在WordPress管理区域中编辑用户配置文件来验证一切正常,您将看到用户注册日期

Showing member registration date in WordPress user profile

在您的网站上显示用户注册日期

在此方法中,我们将使用一个简单的短代码在WordPress网站的前端显示任何用户注册日期。

首先,您需要在主题的functions.php文件或特定于站点的插件中添加以下代码。


function wpb_user_registration_date($atts, $content = null ) { 

$userlogin = shortcode_atts( array(
"user" => FALSE,
), $atts );

$uname = $userlogin["user"];     

if ($uname!== FALSE) {             

$user = get_user_by( "login", $uname );  
if ($user == false) { 

$message ="Sorry no such user found."; 


} else { 

$udata = get_userdata( $user-ID );
$registered = $udata->user_registered;

$message =	"Member since: " . date( "d F Y", strtotime( $registered ) );

}
	
} else { 

$message = "Please provide a username."; 

} 

return $message; 

} 

add_shortcode("membersince", "wpb_user_registration_date");

接下来,您只需使用以下短代码即可显示用户注册日期

[membersince user = peter]

将peter替换为您要显示的用户名。

我们希望本文能帮助您在WordPress用户配置文件中显示注册日期。您可能还希望看到有关如何在WordPress注册中添加其他用户配置文件字段的教程。