获取所有wp_USERS按元密钥排序

时间:2017-12-08 作者:krishna

我正在尝试让用户列表按元键排序。我的意思是我已经设置了元键user_last_login. 某些用户没有此元密钥。一些用户拥有它。

我想在一个查询中同时获得两个用户,但如果存在元键,则这些用户将排在第一位,其余用户应排在最后。

这是我的问题

$meta_query_args = array(
            \'relation\' => \'OR\', // Optional, defaults to "AND"
            array(
            \'key\'     => \'user_last_login\',                 
            \'compare\' => \'Not Exists\'
            ),
            array(
            \'key\'     => \'user_last_login\',                 
            \'compare\' => \'Exists\'
            )
        );
        $meta_query = new WP_Meta_Query( $meta_query_args );


            $args = array(
                \'offset\' => $paged ? ($paged - 1) * $number : 0,
                \'number\' => $number,
                \'fields\' => \'all\',
                \'orderby\'=>\'user_last_login\',                   
                \'exclude\' => array(get_current_user_id()), 

                \'meta_query\'  =>$meta_query
            );

            $users = get_users( $args );
请帮忙。

1 个回复
SO网友:Sneha Agarwal

您可以为每个数组编制索引,然后根据需要使用ASC、DESC按1或两者排序

    $meta_query_args = array(
        \'relation\' => \'OR\', // Optional, defaults to "AND"
        \'no_login\' =>array(
        \'key\'     => \'user_last_login\',                 
        \'compare\' => \'Not Exists\'
        ),
        \'login\' => array(
        \'key\'     => \'user_last_login\',                 
        \'compare\' => \'Exists\'
        )
    );
    $meta_query = new WP_Meta_Query( $meta_query_args );


        $args = array(
            \'offset\' => $paged ? ($paged - 1) * $number : 0,
            \'number\' => $number,
            \'fields\' => \'all\',
            \'orderby\'           => array(
            \'login\'         => \'ASC\'
        ),                   
            \'exclude\' => array(get_current_user_id()), 

            \'meta_query\'  =>$meta_query
        );

        $users = get_users( $args );

结束

相关推荐

克隆像users.php这样的管理页面

在我的项目中,我想创建一个新的菜单位置,它实际上是“用户”页面的副本,但需要一些额外的过滤器/修改。例如,我需要在用户上方有另一个名为“Admins”的菜单位置,它将显示完全相同的结构化页面,但只有Admin用户。这是为了给我的客户带来更好/更简单的用户体验。我的问题是如何做到这一点?我知道有些函数add_menu_page 但是像这样使用它们(users.php 作为标识符):add_menu_page( \'custom menu title\', \'custom menu\', \'users.p