Как заказывать сообщения пользовательской ролью WP?

В настоящее время у меня есть следующий пользовательский wp_query, который отображает сообщения из двух настраиваемых ролей WP, «custom_role_one» и «custom_role_two». Он отображает сообщения из моего настраиваемого типа сообщений «Список». Он отлично работает, но как я могу изменить это, чтобы столбцы упорядочивались по каждой роли?

Например, я бы хотел, чтобы все сообщения из «custom_role_one» отображались сначала, а затем все сообщения из «custom_role_two», которые будут перечислены во втором. Как вы можете видеть, в настоящее время они упорядочены по дате.

<?php $custom_roles = get_users( array( 'role' => 'custom_role_one, custom_role_two' ) ); $custom_ids = array(); foreach( $custom_roles as $custom_role ) $custom_ids[] = $custom_role->ID; $custom_role_query = new WP_Query( array( 'author' => implode( ',', $custom_ids ), 'post_type' => 'listing', 'posts_per_page' => 10, 'orderby' => 'date', 'order' => 'DESC', 'paged' => get_query_var('paged') ) ); ?> <?php if ( $custom_role_query ->have_posts() ) : while ( $custom_role_query ->have_posts() ) : $custom_role_query ->the_post(); ?> <div id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> </div> <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?> 

Solutions Collecting From Web of "Как заказывать сообщения пользовательской ролью WP?"

вы можете добавить настраиваемое поле в каждое объявление с ролью пользователя, а затем в своем запросе вы можете заказать это поле, например, скажем, что у вас есть пользовательское поле с именем `u_role ', тогда ваш запрос должен выглядеть так:

 $custom_role_query = new WP_Query( array( 'author' => implode( ',', $custom_ids ), 'post_type' => 'listing', 'posts_per_page' => 10, 'paged' => get_query_var('paged'), 'meta_key' => 'u_role', 'orderby' => 'meta_value', 'order' => 'DESC', ) );