Как добавить в админке доп. поле дата регистрации пользователя?

👍 Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

Как добавить у зарегистрированного пользователя в админ части поле с датой его регистрации? Рядом с мылом, ролью и записями.

Создай свой первый сайт на WordPress

denseven
Оцените автора
Добавить комментарий

  1. Вот тут http://www.domainwebcenter.com/?p=895 есть английский пошаговый мануал про добавление такой колонки в админку. В принципе все в нем понятно, единственный минус — придется редактировать файлы движка.

    Еще есть функция get_userdata, которая может возвращать все данные о пользователи из базы данных, в том числе и дату регистрации:

    <?php echo date("M Y", strtotime(get_userdata(get_current_user_id( ))->user_registered)); ?>

    Осталось придумать, как это прикрутить к админке.

    А еще есть плагин TTC User Comments, который может выводить в админке список всех пользователей с количеством комментариев, датой последнего комментария, кликабельным электронным адресом и датой регистрации. Плагин старый, работоспособность с новыми версиями не проверялась.

    Но а вообше это, конечно же, безобразие — такая мощная система, и нет таких очевидных, элементарных вещей, как дата регистрации.

    Ответить
  2. denseven автор

    Думал здесь решение найдется быстрей, но увы. Вот допилил. Может кому-нибудь пригодится. Рабочий код доп. поля даты регистрации пользователя.

    function test_modify_user_table( $column ) {
        $column['register'] = 'Регистрация';
        return $column;
    }
    add_filter( 'manage_users_columns', 'test_modify_user_table' );
     
    function test_modify_user_table_row( $val, $column_name, $user_id ) {
        $user = get_userdata( $user_id );
        switch ($column_name) {
            case 'register' :
                return $user->user_registered;
                break;
            default:
        }
        return $return;
    }
    add_filter( 'manage_users_custom_column', 'test_modify_user_table_row', 10, 3 );
    
    Ответить
  3. denseven автор

    Еще вопрос по коду. У меня так и не вышло обрезать дату до: число/месяц/год? Может кто подскажет, как реализовать.

    Если оставить как есть, то выходит: 2011-04-19 08:07:56

    Ответить
    1. примерно как-то так:

      $registered = ($user_info->user_registered . "\n");
        echo date("d/m/Y", strtotime($registered)); ?>
      Ответить
    2. zetrider
      $date_author_info = date("Y.m.d", strtotime(get_userdata($autor_page_id)->user_registered));
      list($yearpost, $monthpost, $daypost) = explode(".", $date_author_info); 
      $arr_date_author_info = array(1 => "января", 2 => "Февраля", 3 => "марта", 4 => "апреля", 5 => "мая", 6 => "июня", 7 => "июля", 8 => "августа", 9 => "сентября", 10 => "октября", 11 => "ноября", 12 => "декабря"); 
      if(preg_match("|^d{2}$|", $yearpost)) $yearpost = "20$yearpost"; 
      echo "$daypost ".$arr_date_author_info[intval($monthpost)]." $yearpost <br />"; 
      Ответить
    3. Кирил

      А как сортировку прикрутить?

      Ответить
      1. tiaurus

        Посмотрите плагин Admin Column. Плагин Codepress Admin Columns позволяет простым дра-н-дропом сортировать данные в колонках записей, медиафайов и пользователей, перемещая, убирая и добавляя не только стандартные, но и те, которые появились после активации плагинов. Так же плагин позволяет задавать новые способы сортировки по самым разным полям.

        Ответить
  4. smedvedev

    все работает, сделал по способу написанном на англ. языке

    Ответить
    1. Кирил

      совсем не то — там можно изменить только порядок столбцов, а сортировки по дате регистрации нет
      так же в английском мануале написано как подключить сортировку, но в текущей версии ВП нет

      Open \wp-admin\media.php and search for comment “adding submenus to profile.php“.

      Ответить
      1. Кирил

        из-за капчи не туда ответ попал — админ перенеси в ветку выше и отредактируй плиз — писал tiaurus’у

        Ответить
      2. tiaurus

        Посмотрите плагин amr users. Либо совсем простой плагин Recently Registered.

        Ответить
        1. Кирил

          Recently Registered — то что нужно, спасибо

          Ответить
  5. Кирил

    А как можно скрыть некоторых по условию?
    например перед switch ($column_name) устроить if и в нём unset — но как? уже неделю бьюсь
    нужно показывать например только тех у кого дата совпала с тем что передам в get

    Ответить