Хотите отображать на сайте дату регистрации пользователя? Почему бы и нет! Очень многие популярные сообщества и форумы делают это. Например, у них в профиле пользователей можно увидеть надпись «Участник с … года». В этой статье я расскажу, как отобразить дату регистрации пользователя на сайте WordPress.
Содержание
Некоторые хотели бы видеть дату регистрации пользователей в отдельной колонке на странице раздела «Пользователи» (см. админку). Это нужно для того, чтобы быстро увидеть, кто и когда зарегистрировался на сайте и при необходимости отсортировать пользователей по дате регистрации.
Также это может пригодиться, если вы хотите видеть дату регистрации пользователя на странице «Редактировать профиль», когда администратор(ы) или сам пользователь хочет увидеть дату регистрации на сайте.
И последнее, но, пожалуй, самая распространенная причина, зачем надо отображать дату регистрации – это когда, хочется вывести данные в публичный профиль на front-end сайта. Для пользователя, это может быть, например, престижно, что он один из первых присоединился к сайту, является «старожилом».
Давайте теперь перейдем непосредственно к действиям.
Первое, что необходимо сделать в данном случае – это установить и активировать плагин Admin Columns. После активирования зайдите в Настройки » Admin Columns, чтобы настроить плагин.
Во вкладке «admin columns» щелкните по «users», а затем по кнопке «+add column» (добавить столбец).
Затем в выпадающем меню выберите тип «Registered» (зарегистрированные) и кликните по кнопке сохранить изменения – «Store updates».
Зайдите теперь на страницу «Все пользователи» и вы увидите новый столбец «Зарегистрирован», отображающий даты регистрации пользователей на вашем сайте.
Для вывода даты регистрации пользователя на странице редактирования профиля, необходимо загрузить какой-нибудь плагин. Затем просто создайте текстовый файл на компьютере, например, Блокнот и назовите его «membersince.php». Откройте документ и вставьте в него следующий код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<?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' );
/**
* 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 ) )
);
}
?>
|
Сохраните файл и загрузите его на сайт.
Подключитесь к сайту через FTP клиент и пройдите по следующему маршруту: /wp-content/plugins/ folder. Выберите с компьютера файл membersince.php и загрузите его.
Перейдите к странице плагинов и активируйте новый плагин.
Вот и все! Проверьте работает ли все надлежащим образом, отредактировав профиль какого-нибудь пользователя через панель администрирования. Вы должны будете увидеть, что в профиле пользователя появилась строка с датой его регистрации.
Отображение даты регистрации пользователя на сайте
Для отображения даты регистрации любого пользователя на front-end странице сайта необходимо будет использовать простой шорткод.
Для начала добавьте следующий код в файл темы functions.php или в site-specific plugin:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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» на любое имя пользователя.
Надеюсь, данная статья помогла вам разобраться с вопросом, как отображать дату регистрации в профиле пользователя.
Если вам понравилась статья, не забывайте ею делиться. Подписывайтесь на мой канал в YouTube, находите меня в социальных сетях. Всем удачи и еще интересные заметки ниже
Я подготовил для Вас обращение, с ним можете ознакомиться тут
Макс Метелев - автор, блоггер, актер местного театра, ведущий городских мероприятий. Делюсь только лучшим!