Добрый день. Для начала вам нужно сделать отдельный шаблон archive-books.php и в нём стандартный цикл вордпресс заменить на wp_query Про wp_query смотрите
тут. Потом где вы выводите категории, делаете форму с методом GET
А потом берете из параметров данные и подставляете в запрос. Примерно так:
$default = array(
'post_type' => 'books',
'post_status' => 'publish',
'posts_per_page' => 12,
'tax_query' => [
'relation' => 'AND',
],
);
if ( ! empty($_GET['books_cat'])) {
$books_cat_arr = [];
foreach ($_GET['books_cat'] as $key => $elem) {
$books_cat_arr[] = $key;
}
$default['tax_query'][] = [
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $books_cat_arr,
];
}
}
$query = new WP_Query( $default );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
get_template_part( 'template-parts/content', 'new-buildings-list' );
$count_buildings = $query->found_posts;
}
} else {
get_template_part( 'template-parts/content', 'none' );
}
wp_reset_postdata();