Не работает фильтр на шаблонах WordPress, а на статичной странице работает гладко, почему?
На обычных страницах с шаблонами не действует фильтр. Где я ошибся?
Страница врачей:
`<form method="GET">
<?php
$stepens = get_terms([
'taxonomy' => 'stepen',
// 'exclude' => Array(1), Убираем без рубрики
]);
$pols = get_terms([
'taxonomy' => 'pol'
]);
$kids = get_terms([
'taxonomy' => 'kids'
]);
?>
<?php foreach($stepens as $stepen) :?>
<div class="parametr">
<input type="checkbox" name="filter[stepen][]" value="<?php echo $stepen->term_id; ?>" id="stepen_<?php echo $stepen->term_id;?>">
<label for="stepen_<?php echo $stepen->term_id;?>"><span><?php echo $stepen->name;?></span></label>
</div>
<!-- /.parametr -->
<?php endforeach; ?>
<?php foreach($kids as $kid) :?>
<div class="parametr">
<input type="checkbox" name="filter[kids][]" value="<?php echo $kid->term_id; ?>" id="kids_<?php echo $kid->term_id;?>">
<label for="kids_<?php echo $kid->term_id;?>"><span><?php echo $kid->name;?></span></label>
</div>
<!-- /.parametr -->
<?php endforeach; ?>
<?php foreach($pols as $pol) :?>
<div class="parametr">
<input type="checkbox" name="filter[pol][]" value="<?php echo $pol->term_id; ?>" id="pol_<?php echo $pol->term_id;?>">
<label for="pol_<?php echo $pol->term_id;?>"><span><?php echo $pol->name;?></span></label>
</div>
<!-- /.parametr -->
<?php endforeach; ?>
<button>Поиск</button>
</form>`
php Код:
<?php
global $wp_query;
$query = array(
'post_type' => 'specialists',
'tax_query' => array(
'relation' => "AND",
)
);
if (isset($_REQUEST['filter'])) {
if (isset($_REQUEST['filter']['stepen']) && is_array($_REQUEST['filter']['stepen'])) {
$stepens = array();
foreach ($_REQUEST['filter']['stepen'] as $stepen) {
$stepens[] = intval($stepen);
}
$query['tax_query'][] = array(
'taxonomy' => 'stepen',
'field' => 'term_id',
'terms' => $stepens,
);
unset($stepens);
}
if (isset($_REQUEST['filter']['pol']) && is_array($_REQUEST['filter']['pol'])) {
$pols = array();
foreach ($_REQUEST['filter']['pol'] as $pol) {
$pols[] = intval($pol);
}
$query['tax_query'][] = array(
'taxonomy' => 'pol',
'field' => 'term_id',
'terms' => $pols,
);
unset($pols);
}
if (isset($_REQUEST['filter']['kids']) && is_array($_REQUEST['filter']['kids'])) {
$kids = array();
foreach ($_REQUEST['filter']['kids'] as $kid) {
$kids[] = intval($kid);
}
$query['tax_query'][] = array(
'taxonomy' => 'kids',
'field' => 'term_id',
'terms' => $kids,
);
unset($kids);
}
$query = array_merge($wp_query->query, $query);
query_posts($query);
}
$query = new WP_Query( $query );
if( $query->have_posts() ){
while( $query->have_posts() ){
$query->the_post();
get_template_part( 'template-parts/content', 'content' );
}
}
else {
echo 'Записей нет';
}
?>