Я думаю, проблема в том, что вы передаете строку для значения термина slug.
За пределами tax_query
я думаю, что вы можете передать либо строку, либо массив.Внутри tax_query
, с несколькими таксономиями, единственные примеры, которые я вижу в документации , обернуты в массивы.
В документах не указано конкретно, где я могу найти,Однако, если бы вы могли просто использовать строку вместо массива, этот фрагмент, который я скопировал непосредственно из вышеупомянутых документов, был бы тем местом, которое должно быть показано:
$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array( 'quotes' ),
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-quote' ),
),
),
);
$query = new WP_Query( $args );
С учетом всего вышесказанного ваш код должен выглядеть примерно так:
$cat = $_GET['cat'];
$cat = sanitize_text_field($cat);
$args = array(
'post_type' => array('post', 'quizzes'),
'posts_per_page' => -1,
'category__not_in' => array( 9, 10 ),
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'category_name',
'field' => 'slug',
'terms' => array($cat)
),
array(
'taxonomy' => 'quiz_category',
'field' => 'slug',
'terms' => array($cat)
),
)
);
Если это не сработает, вы можете отобразить переменную $cat
и опубликовать результат?