Хотели бы вы отображать дату регистрации пользователя в WordPress? Очень часто популярные сайты и форумы с большим количеством зарегистрированных участников выводят дату регистрации в профиле в виде «на сайте с 2015». В этой статье мы покажем вам как отобразить дату регистрации юзеров в WordPress.
Где и как может понадобиться выводить дату регистрации?
Некоторым из вас возможно просто потребуется вывести дату регистрации пользователя в столбцах админки на странице Пользователи. Это даст возможность быстро оценивать, когда же пользователь присоединился к вашему сайту, а также позволит сортировать юзеров по дате регистрации.
Еще один вариант использования — вывести дату регистрации на странице «Редактировать профиль». Это позволит любому администратору, а также самому пользователю увидет, когда он присоединился к сайту.
Последний, но наверное самый популярный вариант, когда вам потребуется вывести дату регистрации пользователя в их публичном профиле на фронтенде сайта.
Давайте же посмотрим как реализовать всё это.
Добавляем столбец даты регистрации на странице Пользователи в админке
Первым делом вам необходимо установить и активировать плагин Admin Columns. После активации переходим в Настройки » Admin Columns для настройки плагина.
На вкладке admin columns нажмите на users, а затем на кнопку «add column».
Далее, выберите ‘Registered” в выпадающем меню Type, после чего нажмите на кнопку «store updates».
Теперь переходим на страницу Пользователи, где видим новый столбец под названием ‘Registered’, в котором отображается дата, когда пользователь был зарегистрирован на вашем сайте WordPress.
Отображаем поле даты регистрации в профиле пользователя
Для того, чтобы вывести дату регистрации на странице редактирования профиля, вам нужно будет загрузить собственный плагин на сайт.
Просто создаем новый файл на вашем компьютере с помощью текстового редактора и сохраняем его как 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 на своем компьютере и загружаем его.
Затем переходим на страницу Плагины в админке и активируем этот плагин на сайте.
Вот и все. Проверяем, что всё работает, для чего заходим в свой профиль в админке и наблюдаем дату регистрации.
Выводим дату регистрации пользователя на своем сайте
В этом способе мы будем использовать простой шорткод для вывода даты регистрации любого пользователя на фронтеде вашего сайта.
Для начала вам потребуется добавить следующий код в файл 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.