Хотели бы вы отображать дату регистрации пользователя в WordPress? Очень часто популярные сайты и форумы с большим количеством зарегистрированных участников выводят дату регистрации в профиле в виде «на сайте с 2015». В этой статье мы покажем вам как отобразить дату регистрации юзеров в WordPress.
![member-join-date[1]](https://wpincode.com/wp-content/uploads/2015/11/member-join-date1.jpg)
Где и как может понадобиться выводить дату регистрации?
Некоторым из вас возможно просто потребуется вывести дату регистрации пользователя в столбцах админки на странице Пользователи. Это даст возможность быстро оценивать, когда же пользователь присоединился к вашему сайту, а также позволит сортировать юзеров по дате регистрации.
Еще один вариант использования — вывести дату регистрации на странице «Редактировать профиль». Это позволит любому администратору, а также самому пользователю увидет, когда он присоединился к сайту.
Последний, но наверное самый популярный вариант, когда вам потребуется вывести дату регистрации пользователя в их публичном профиле на фронтенде сайта.
Давайте же посмотрим как реализовать всё это.
Добавляем столбец даты регистрации на странице Пользователи в админке
Первым делом вам необходимо установить и активировать плагин Admin Columns. После активации переходим в Настройки » Admin Columns для настройки плагина.
![addregisteredcolumn[1]](https://wpincode.com/wp-content/uploads/2015/11/addregisteredcolumn1.png)
На вкладке admin columns нажмите на users, а затем на кнопку «add column».
Далее, выберите ‘Registered” в выпадающем меню Type, после чего нажмите на кнопку «store updates».
Теперь переходим на страницу Пользователи, где видим новый столбец под названием ‘Registered’, в котором отображается дата, когда пользователь был зарегистрирован на вашем сайте WordPress.
![userstable[1]](https://wpincode.com/wp-content/uploads/2015/11/userstable1.png)
Отображаем поле даты регистрации в профиле пользователя
Для того, чтобы вывести дату регистрации на странице редактирования профиля, вам нужно будет загрузить собственный плагин на сайт.
Просто создаем новый файл на вашем компьютере с помощью текстового редактора и сохраняем его как 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', 'ShowMemberSince\init' );
/**
* Добавляем нужные хуки
*/
function init(){
foreach( array( 'show_user_profile', 'edit_user_profile' ) as $hook )
add_action( $hook, 'ShowMemberSince\add_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]](https://wpincode.com/wp-content/uploads/2015/11/membersince1.png)
Выводим дату регистрации пользователя на своем сайте
В этом способе мы будем использовать простой шорткод для вывода даты регистрации любого пользователя на фронтеде вашего сайта.
Для начала вам потребуется добавить следующий код в файл 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.
