Wordpress запрос - упорядочить по meta_value - php: time (); - от наибольшего к наименьшему числу - PullRequest
1 голос
/ 03 февраля 2020

Я пытаюсь отсортировать столбец от наибольшего числа к наименьшему. Числа генерируются функцией time () в php (см. Изображение), в настоящее время мой код не влияет на сортировку. Что я делаю не так?

ps 0 = ничего не найдено для этого user_id в базе данных

Database_column

С помощью следующей строки я помещаю значение в базу данных

// Update user meta
update_user_meta( $user_id, 'uls_last_seen', time() );

С помощью этой строки кода я получаю информацию из базы данных

// Get user meta
$last_login = (int) get_user_meta( $user_id, 'uls_last_seen', true );

И этот код для начала сортировки

/**
 * Orderby user_last_seen (product)
 */
function uls_add_user_last_seen_column_orderby( $query ) {
    if ( !is_admin() )
        return;

    $orderby = $query->get('orderby');

    if( $orderby == 'user_last_seen' ) {
        $query->set( 'meta_key', 'uls_last_seen' );
        $query->set( 'orderby' , 'meta_value_num' );
    }
}
add_action( 'pre_user_query', 'uls_add_user_last_seen_column_orderby' );

1 Ответ

0 голосов
/ 04 февраля 2020

Я нашел решение моего вопроса, я использую pre_get_users вместо pre_user_query

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...