web-dev-qa-db-ja.com

ユーザーの順序をIDの降順で一覧表示する(バックエンド)

「ID」列の降順でWordPress管理でユーザーリストを表示しようとしています。

私は以下のコードを試してみました

add_action('pre_user_search', 'change_user_order');

function change_user_order($query)
{
    $query->query_orderby = ' ORDER BY ID DESC';
}

しかし、それはうまくいきません。

1
Suman Acoustics

私は最初にpre_user_queryがその仕事のためのフックになるだろうと思いました。しかし、ここでは pre_get_posts であるpre_get_usersと同等のものを使用するのが適切だと思います。

あなたはまたadminでこれを実行したいと言った。それで、これを実行する前にそれをチェックします。

function my_custom_order_users_by_id( $query ) {

   //Check that we are in admin otherwise return
   if( !is_admin() ) {
      return;
   }

   // We are changing the query_vars to reorder
   $query->query_vars['orderby'] = 'ID';
   $query->query_vars['order']   = 'DESC';

   // We need to remember to return the altered query.
   return $query;
}
// Lets apply our function to hook.
add_action( 'pre_get_users', 'my_custom_order_users_by_id' );
3
toni_lehtimaki

ユーザごとに@toni_lehtimakipre_user_searchは推奨されません。以下のコードは動作しています。

add_action('pre_user_query', 'change_user_order');

function change_user_order($query) {

    $query->query_orderby = ' ORDER BY ID DESC';
}
0
user3888958