Я хочу использовать WP_Query()
класс для фильтрации некоторых моих сообщений. Проблема, с которой я сейчас сталкиваюсь - это обработка запроса таксономии. Обычно WP_Query()
единственное отношение обрабатывается только для одного tax_query()
(И или ИЛИ), но что мне нужно, так это смешанное использование этих отношений tax_query()
, как этого достичь?
например
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'taxonomy1',
'field' => 'slug',
'terms' => array( $term)
),
array(
'taxonomy' => 'taxonomy3',
'field' => 'slug',
'terms' => 'terms' => array( $term3),
'operator' => 'IN',
)
// below i want to use OR relationship
'relation' => 'OR',
array(
'taxonomy' => 'taxonomy4',
'field' => 'slug',
'terms' => array( $term4)
),
array(
'taxonomy' => 'taxonomy2',
'field' => 'slug',
'terms' => 'terms' => array( $term2),
'operator' => 'IN',
)
)
Я знаю, что приведенный выше код не работает, мне нужно использовать WP_Query()
фильтр, чтобы сделать это? Есть идеи?
$slug
взялся ...?'taxonomy' => 'taxonomy4', // gets ignored
нельзя игнорировать. Если я поместил случайный текст в это поле, результат не был найден. Только когда я назначил реальное название таксономии, это дало мне результат. Есть идеи почему?Я рекомендую использовать
tax_query
какmeta_query
для нескольких или / и таких операторов, как этоисточник