Как вывести дату регистрации пользователей в WordPress

Хотите вывести дату регистрации пользователей в WordPress? Многие популярные сайты сообществ и форумы отображают дату регистрации пользователей в их профилях (к примеру, «участник с 2015 года»). В данной статье мы покажем вам, как вывести дату регистрации пользователей в WordPress.

registration

Где это может пригодиться?

Некоторые из вас просто хотели бы вывести дату регистрации пользователей в отдельном столбце страницы Users (Пользователи) в панели администратора. С помощью этого шага вы сможете видеть, когда пользователь присоединился к вашему сайту, и сможете отсортировать пользователей по дате их регистрации.

Еще один хороший вариант использования – вывод даты регистрации пользователей на странице «Edit Profile» (Редактировать профиль). Это позволит администратору и пользователю получить информацию о том, когда именно пользователь присоединился к вашему сайту.

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

Давайте рассмотрим все эти подходы.

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

Первое, что вам понадобится сделать – это установить плагин Admin Columns. После активации вам нужно будет зайти на страницу Параметры — Admin Columns и настроить плагин.

addregisteredcolumn

Во вкладке Admin Columns щелкните по Users, после чего нажмите на Add Column.

Затем выберите Registered в выпадающем меню Type и щелкните по кнопке Store Updates (Сохранить изменения).

Если вы посетите экран Users, вы увидите новый столбец, который будет называться Registered. В нем будет отображена дата регистрации пользователя на сайте.

userstable

Вывод поля с датой регистрации в профиле пользователя

Чтобы вывести дату регистрации на странице редактирования профиля, вам нужно будет загрузить произвольный плагин на свой сайт.

Создайте новый файл на компьютере в текстовом редакторе  (к примеру, в Notepad), после чего сохраните его под названием membersince.php.

Откройте файл и вставьте в него код:

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


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>
				<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-клиент, после чего перейти к папке /wp-content/plugins/ и загрузить в нее свой файл membersince.php.

После этого вам нужно будет перейти к разделу с плагинами в панели администратора и активировать свой новый плагин.

Все. Если вы перейдете к разделу редактирования пользовательских профилей, вы должны увидеть дату регистрации.

membersince

Вывод даты регистрации пользователя на своем WordPress-сайте

В этом методе мы будем использовать простой шорткод для вывода даты регистрации пользователя во фронтэнде 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 вы можете использовать любое имя пользователя, которое хотите.

Источник: wpbeginner.com

Блог про WordPress
Комментарии: 4
  1. VideoStrimer

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

  2. Юлик

    Как-то слишком заморочено, но метод имеет место быть.)))

  3. Алексей

    Подскажите как можно вывести дату регистрации авторизованного в данный момент пользователя?

    1. Дмитрий (автор)
Добавить комментарий для VideoStrimer Отменить ответ

Получать новые комментарии по электронной почте.