Расширенный orderby с несколькими meta_query

Я на последней версии WordPress. Я просмотрел код в отношении wp_query и meta_query. Я также прочитал:

Query improvements in WP 4.2: ‘orderby’ and ‘meta_query’

A more powerful ORDER BY in WordPress 4.0

Вот мои $ args для запроса:

$args = array ( 'post_type' => array( 'member' ), 'tax_query' => array( array( 'taxonomy' => 'group', 'field' => 'slug', 'terms' => array('town-board'), ) ), 'meta_query' => array( 'relation' => 'OR', 'chairman' => array( 'key' => '_town-board_position', 'value' => 'Town Chairman', ), 'supervisor' => array( 'key' => '_town-board_position', 'value' => 'Supervisor', 'compare' => 'LIKE', ), ), 'orderby' => array( 'supervisor' => 'ASC', 'chairman' => 'DESC', ), ); 

Я возился с разными конфигурациями orderby, но, похоже, он не дает результатов, которые мне бы хотелось.

С $ args выше я получаю, что председатель указан первым, но Supervisors перечислены в обратном порядке. Итак, это председатель, супервайзер 3, супервайзер 2, супервайзер 1.

Я хочу сортировать это так, чтобы председатель был первым, а затем Supervisor 1, Supervisor 2 и т. Д. Перечислены в порядке ниже председателя.

Я просто не могу обернуться вокруг этого …

Любой вход был бы оценен. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Solutions Collecting From Web of "Расширенный orderby с несколькими meta_query"

Я пробовал все, что мог, чтобы сортировать в функциях WordPress, но не смог получить то, что хотел. Я закончил с рекомендацией Питера Гуэнона и сделал назначение (). Вот что у меня есть сейчас:

WP_Query $ args

 $args = array ( 'post_type' => array( 'member' ), 'tax_query' => array( array( 'taxonomy' => 'group', 'field' => 'slug', 'terms' => 'town-board' ), ), ); 

Функция пользовательской сортировки

 function custom_sort($a, $b) { if ( get_post_meta($a->ID, '_town-board_position', true) === 'Town Chairman' ) { return -1; } else if ( strpos( get_post_meta($a->ID, '_town-board_position', true), 'Supervisor' ) !== false and strpos( get_post_meta($b->ID, '_town-board_position', true), 'Supervisor' ) !== false ) { return strcmp(get_post_meta($a->ID, '_town-board_position', true), get_post_meta($b->ID, '_town-board_position', true)); } else { return 1; } } 

Теперь это похоже на то, что мне нужен Город Председатель> Супервизор 1> 2> 3> 4

Спасибо всем за ваши предложения.