web-dev-qa-db-fra.com

Liste des commandes utilisateurs par ID en ordre décroissant (Backend)

J'essaie de montrer la liste des utilisateurs dans WordPress Admin dans l'ordre décroissant de la colonne "ID".

J'ai essayé ci-dessous le code

add_action('pre_user_search', 'change_user_order');

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

Mais ça ne marche pas.

1
Suman Acoustics

J'ai d'abord pensé que pre_user_query serait ce crochet pour le travail. Mais je pense que l’utilisation de l’équivalent de pre_get_posts, qui est pre_get_users , conviendrait ici.

Vous avez également dit que vous vouliez exécuter ceci dans admin. Nous allons donc vérifier cela avant d'exécuter ceci.

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

Selon l'utilisateur @toni_lehtimaki pre_user_search est obsolète. Le code ci-dessous fonctionne.

add_action('pre_user_query', 'change_user_order');

function change_user_order($query) {

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