Зачастую популярные сайты с членством и форумы отображают дату регистрации в профилях своих пользователей. Например: член сайта с 2015 года. В этой статье мы объясним как это можно сделать.

Когда и зачем может потребоваться отображение даты регистрации

Отображение даты регистрации в админпанели позволяет отсортировать пользователей по дате регистрации. Другой сценарий это отображение даты регистрации на странице профиля, что позволит увидеть когда пользователь был зарегистрирован. Последний вариант это когда дата регистрации видна публично. Давайте рассмотрим каждый из этих сценариев.

Добавление колонки с датами регистраций пользователей в админке

Сперва вам надо установить и активировать плагин Admin Columns. После активации зайдите в Settings > Admin Columns, чтобы настроить плагин.

addregisteredcolumn - Как отображать дату регистрации в Wordpress

Под вкладкой колонок нажмите на users и затем щелкните по кнопке add column. Затем выберите Rigstered в выпадающем меню и щелкните по store updates. Теперь можете зайти на экран пользователей и увидите там графу Registered, отображающую дату регистрации пользователей.

userstable - Как отображать дату регистрации в Wordpress

Отображение даты регистрации в профиле пользователя

Чтобы показывать дату регистрации в настройках профиля вам надо загрузить пользовательский плагин. Просто создайте новый файл, используя текстовый редактор вроде Блокнота и назовите его membersince.php Затем вставьте в него следующий код:

<?php


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, 'ShowMemberSince\add_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>


Member since: %2$s

			</td>

		</tr>

	</table>

';
	$udata = get_userdata( $user-ID );
	$registered = $udata->user_registered;
	printf(
		$table,
		'Registered',
		date( "M Y", strtotime( $registered ) )
	);
}
?>

Сохраните файл и загрузите его на сайт WordPress. Вы можете подключиться к своему сайту с помощью FTP-клиента и зайти в папку wp-content/plugins/ Теперь можете зайти на страницу плагинов и активировать свой новый плагин. На этом все. Удостоверьтесь в работе плагина, просто зайдя в правку профиля у себя в админке, и вы увидите дату регистрации пользователя.

membersince - Как отображать дату регистрации в 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. Контакты для бесплатной консультации — vadim@coma.lv, +371 29394520


Как отображать дату регистрации в WordPress
5 1 vote