Как вывести дату регистрации пользователей в WordPress
Где это может пригодиться?
Некоторые из вас просто хотели бы вывести дату регистрации пользователей в отдельном столбце страницы Users (Пользователи) в панели администратора. С помощью этого шага вы сможете видеть, когда пользователь присоединился к вашему сайту, и сможете отсортировать пользователей по дате их регистрации.
Еще один хороший вариант использования – вывод даты регистрации пользователей на странице «Edit Profile» (Редактировать профиль). Это позволит администратору и пользователю получить информацию о том, когда именно пользователь присоединился к вашему сайту.
Последний, самый популярный вариант реализации этой возможности – вывод даты регистрации пользователя на его публичной странице во фронтэнде сайта.
Давайте рассмотрим все эти подходы.
Добавление столбца с датой регистрации к странице Users в панели администратора
Первое, что вам понадобится сделать – это установить плагин Admin Columns. После активации вам нужно будет зайти на страницу Параметры – Admin Columns и настроить плагин.
Во вкладке Admin Columns щелкните по Users, после чего нажмите на Add Column.
Затем выберите Registered в выпадающем меню Type и щелкните по кнопке Store Updates (Сохранить изменения).
Если вы посетите экран Users, вы увидите новый столбец, который будет называться Registered. В нем будет отображена дата регистрации пользователя на сайте.
Вывод поля с датой регистрации в профиле пользователя
Чтобы вывести дату регистрации на странице редактирования профиля, вам нужно будет загрузить произвольный плагин на свой сайт.
Создайте новый файл на компьютере в текстовом редакторе (к примеру, в 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', 'ShowMemberSinceinit' );
/**
* Adding needed action hooks
*/
function init(){
foreach( array( 'show_user_profile', 'edit_user_profile' ) as $hook )
add_action( $hook, 'ShowMemberSinceadd_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.
После этого вам нужно будет перейти к разделу с плагинами в панели администратора и активировать свой новый плагин.
Все. Если вы перейдете к разделу редактирования пользовательских профилей, вы должны увидеть дату регистрации.
Вывод даты регистрации пользователя на своем 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



