Как вывести дату регистрации пользователей в 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