Solicitar usuários por meta de usuário personalizado

Estou mostrando uma lista de usuários, assim:

    ID; $dir_order = get_user_meta($dir_id, 'exit_director_order', TRUE); $dir_link = get_bloginfo('home').'/?author='.$dir_id; if ($dir_id == $director_id ) { $dir_class= 'current director-'.$dir_id; } else { $dir_class= 'director-'.$dir_id; } ?>
  • <a href="https://wordpress.stackexchange.com//questions/30302/order-users-by-custom-user-meta/" class="">display_name; ?>

Gostaria de pedir aos usuários por dir_order (na ordem do menor número para maior). Esses valores são armazenados no database como números inteiros.

Como posso fazer isso?


EDITAR:

Aqui está a solução. Os comentários incluíram:

 ID); // Create a flat array with only the fields we need $directors[$user->ID] = array( 'dir_order' => $user->exit_director_order, 'dir_id' => $user->ID, 'dir_name' => $user->first_name.' '.$user->last_name ); } // Sort sort($directors); // The list echo '
    '; // For each result foreach ($directors as $director) { // Set up the variables $dir_id = $director['dir_id']; $dir_order = $director['dir_order']; $dir_name = $director['dir_name']; $dir_link = get_bloginfo('home').'/?author='.$director['dir_id']; // The list items echo '
  • '; echo ''.$dir_name.''; echo '
  • '; } echo '
'; ?>

Solutions Collecting From Web of "Solicitar usuários por meta de usuário personalizado"

Aqui está a solução. Os comentários incluíram:

 < ?php $results = get_users('role=director'); foreach ($results as $result) { // Get data about each user as an object $user = get_userdata($result->ID); // Create a flat array with only the fields we need $directors[$user->ID] = array( 'dir_order' => $user->exit_director_order, 'dir_id' => $user->ID, 'dir_name' => $user->first_name.' '.$user->last_name ); } // Sort sort($directors); // The list echo '
    '; // For each result foreach ($directors as $director) { // Set up the variables $dir_id = $director['dir_id']; $dir_order = $director['dir_order']; $dir_name = $director['dir_name']; $dir_link = get_bloginfo('home').'/?author='.$director['dir_id']; // The list items echo '
  • '; echo ''.$dir_name.''; echo '
  • '; } echo '
'; ?>

Para obter todos os usuários ordenados por um meta-campo personalizado, defina o meta_key e orderby ou meta_value_num neste caso.

 $results = get_users( array( 'role' => 'director', 'meta_key' => 'exit_director_order', 'orderby' => 'meta_value_num', 'order' => 'ASC' ) ); 

EDIT : Isto pareceu funcionar e DEVE funcionar. Eu acredito que vai funcionar na próxima versão. Mas, por enquanto, não funciona.

A resposta escolhida aqui é a melhor opção que eu encontrei até esse momento: ordenando usuários de uma function específica pelo sobrenome