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

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

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

member-join-date[1]

Где и как может понадобиться выводить дату регистрации?

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

Еще один вариант использования — вывести дату регистрации на странице «Редактировать профиль». Это позволит любому администратору, а также самому пользователю увидет, когда он присоединился к сайту.

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

Давайте же посмотрим как реализовать всё это.

Добавляем столбец даты регистрации на странице Пользователи в админке

Первым делом вам необходимо установить и активировать плагин Admin Columns. После активации переходим в Настройки » Admin Columns для настройки плагина.

addregisteredcolumn[1]

На вкладке admin columns нажмите на users, а затем на кнопку «add column».

Далее, выберите ‘Registered” в выпадающем меню Type, после чего нажмите на кнопку «store updates».

Теперь переходим на страницу Пользователи, где видим новый столбец под названием ‘Registered’, в котором отображается дата, когда пользователь был зарегистрирован на вашем сайте WordPress.

userstable[1]

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

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

Просто создаем новый файл на вашем компьютере с помощью текстового редактора и сохраняем его как membersince.php.

Далее, открываем файл и вставляем следующий код внутрь.

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


namespace ShowMemberSince;
add_action( 'plugins_loaded', 'ShowMemberSinceinit' );
/**
 * Добавляем нужные хуки
*/
function init(){
  foreach( array( 'show_user_profile', 'edit_user_profile' ) as $hook )
		add_action( $hook, 'ShowMemberSinceadd_custom_user_profile_fields', 10, 1 );
}
/**
 * Таблица вывода
 * @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>На сайте с: %2$s</p>
			</td>
		</tr>
	</table>';
	$udata = get_userdata( $user-ID );
	$registered = $udata->user_registered;
	printf(
		$table,
		'Зарегистрирован',
		date( "M Y", strtotime( $registered ) )
	);
}
?>

Сохраняем файл и закачиваем его на свой сайт.

Теперь нужно будет подключиться к сайту по фта и перейти в папку /wp-content/plugins/. Выбираем файл membersince.php на своем компьютере и загружаем его.

Затем переходим на страницу Плагины в админке и активируем этот плагин на сайте.

Вот и все. Проверяем, что всё работает, для чего заходим в свой профиль в админке и наблюдаем дату регистрации.

membersince[1]

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

В этом способе мы будем использовать простой шорткод для вывода даты регистрации любого пользователя на фронтеде вашего сайта.

Для начала вам потребуется добавить следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:

function devise_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 ='Извините, такой пользователь не найден.';


} else {

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

$message =	'На сайте с: ' . date( "d F Y", strtotime( $registered ) );

}

} else {

$message = 'Пожалуйста, укажите имя пользователя.';

}

return $message;

}

add_shortcode('membersince', 'devise_user_registration_date');

Затем вы сможете выводить дату регистрации пользователя с помощью простого шорткода, вот так:

[membersince user=peter]

Замените peter на имя пользователя, которого нужно вывести.

Мы надеемся, что эта статья помогла вам вывести дату регистрации в профилях пользователей WordPress.

VN:F [1.9.22_1171]

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии