Я пытаюсь отфильтровать свои сообщения из пользовательского типа сообщений, который называется «курсы». Я создал пользовательскую таксономию под названием «course_types», которая имеет 2 термина; «Групповые курсы» и «Отдельные курсы». У меня есть форма с флажками, с помощью которой я хотел бы фильтровать пользовательские сообщения и использовать различные комбинации операторов tax_query («И, ИЛИ, НЕ В и т. д.»), но я не могу достичь ожидаемых результатов. . Любая помощь по этому вопросу будет принята с благодарностью. Спасибо, ребята.
Запрос
<?php
$args =
array(
'post_type' => 'courses',
'tax_query' => array(
array(
'taxonomy' => 'course_types',
'field' => 'term_id',
'terms' => $_GET['course_types'],
),
'relation' => 'AND',
),
)
?>
Форма с флажками
<form method="GET">
<?php $terms = get_terms( array(
'taxonomy' => 'course_types',
'hide_empty' => false,
)
);
foreach($terms as $term) {
echo '<label><input type="checkbox" name="course_types[]" value="' . $term->name
.'">' . $term->name . '</label>';
} ?>
<input type="submit" value="Filter">
</form>
<?php
Результаты
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
get_template_part( 'template-parts/content', 'courses' );
}
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
?>