Есть у меня сайт, созданный на WordPress. И когда начали регистрироваться на сайте новые пользователи, то у меня появилась проблема с определением последних зарегистрированных пользователей. Да, есть уведомление на почту о регистрации новго пользователя, но это очень не удобно.
Эх, вот если бы в админке, в списке юзеров была бы колонка с датой регистрации пользователей да еще и с сортировкой по дате. Есть решение!!! Выкладываю решение в несколько шагов.
Как добавить колонку "Дату регистрации пользователя" в списке пользователей блога WordPress.
1. Находим файл
КОД:
wp-admin\includes\class-wp-users-list-table.php
и и на всякий случай делаем его копию с названием
КОД:
wp-admin\includes\class-wp-users-list-table-original.php
2. Открываем в любом редакторе файл
КОД:
wp-admin\includes\class-wp-users-list-table.php
3. Ищем строку
КОД:
function get_columns() {
4. Добавляем следующую строку после email
КОД:
'user_registered' => __('Date'),
Должен получится следующий результат
КОД:
function get_columns() {
$c = array(
'cb' => '<input type="checkbox" />',
'username' => __( 'Username' ),
'name' => __( 'Name' ),
'email' => __( 'E-mail' ),
'user_registered' => __('Date'),
'role' => __( 'Role' ),
'posts' => __( 'Posts' )
5. Ищем строку
КОД:
$r .= "<td $attributes>";
6. Добавляем следующий код
КОД:
case 'user_registered':
$r .= "<a $attributes>" . mysql2date( __( 'Y/m/d H:i' ), get_date_from_gmt($user_object->user_registered)) . "</a>";
break;
между словами break; и default:
Должен получиться такой результат
КОД:
break;
case 'user_registered':
$r .= "<td $attributes>" . mysql2date( __( 'Y/m/d H:i' ), get_date_from_gmt($user_object->user_registered)) . "</td>";
break;
default:
$r .= "<td $attributes>";
$r .= apply_filters( 'manage_users_custom_column', '', $column_name, $user_object->ID );
$r .= "</td>";
7. Сохраняемся и тестируем. Заходим в админку и смотрим список юзеров. Должна появиться новая колонка с датой регистрации пользователя.
Теперь необходимо сделать сортировку этой колонки.
8. Ищем строку
КОД:
function get_sortable_columns() {
9. Добавляем строку после email
КОД:
'user_registered' => 'user_registered',
Должен получиться такой результат
КОД:
function get_sortable_columns() {
$c = array(
'username' => 'login',
'name' => 'name',
'email' => 'email',
'user_registered' => 'user_registered',
);
Вот и всё. Теперь Вы можете контролировать Ваших новых зарегестрированных пользователей в списке юзеров простой сортировкой.
Обязательно запомните, что после каждого апгрейда WordPress эти изменения пропадут. WordPress подменит своим новым файлом и Вам придется делать эти же изменения опять. Но Вы уже знаете, что это просто.