Сортировка пользователей по дате последнего входа

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

При входе пользователя пишу в таблицу user_meta время
При открытии страницы users.php сортирую пользователей по дате,
но если в поле нет данных, то пользователь не выводится.
Собственно вопрос как исправить?
Спасибо.

add_action('pre_user_query','wpse_27518_pre_user_query');
function wpse_27518_pre_user_query($user_search) {
    global $wpdb,$current_screen;

    if ( 'users' != $current_screen->id ) 	
        return;

        $user_search->query_from .= " INNER JOIN {$wpdb->usermeta} m1 ON {$wpdb->users}.ID=m1.user_id AND (m1.meta_key='last_login')"; 
        $user_search->query_orderby = ' ORDER BY (m1.meta_value) DESC';
}
Создай свой первый сайт на WordPress

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

  1. tiaurus

    Если нет даты, то может быть ее назначить (например, 0000-00-00)? Или встроить проверку если нет даты, то «дата последнего входа не установлена»? Тогда будет по чему сортировать и ошибка возникать не будет.

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

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

    Ответить