Вы можете попробовать что-то вроде:
$q = new WP_Query( array(
'meta_query' => array(
'relation' => 'AND',
'title_clause' => array(
'key' => 'hr_archive_title',
'compare' => 'EXISTS',
),
'question_clause' => array(
'key' => 'hr_archive_question',
'compare' => 'EXISTS',
),
),
'orderby' => 'title_clause'
) );
При этом будут извлекаться сообщения, для которых установлены мета-ключи оба , но сортируются по мета hr_archive_title
.meta_query
- это массив мета-предложений, каждое из которых является ассоциативным массивом с идентификатором ключа.Затем вы устанавливаете параметр orderby
для прослушивания мета-предложения title_clause
.
Этот точный запрос может не дать вам того, что вы хотите, но поиграйте с идеей "пунктов" для вашего meta_query
, и вы сможете достичь того, что пытаетесь сделать.
Идея взята из: https://wordpress.stackexchange.com/a/246358/70417