我需要一些帮助来了解搜索查询在wordpress中的工作方式。 我为地区建立了一个metabox。每个帖子都与一个地区相关。 然后,我用两个选择的下拉菜单,地区和类别下拉菜单(使用wp_dropdown_category函数)构建搜索表单
<form method="get" id="advanced-searchform" role="search" class="flex" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input type="hidden" name="s" value="">
<div class="form-group">
<div class="form-select">
<?php
echo'<div><fieldset>';
echo '<label for="arrondissement">Définir un arrondissement</label><br/>';
echo '<select name="arrondissement">';
echo '<option ' . selected( '1er arrondissement', $arrondissement, false ) . ' value="1er arrondissement">1er arrondissement</option>';
echo '<option ' . selected( '2ème arrondissement', $arrondissement, false ) . ' value="2ème arrondissement">2ème arrondissement</option>';
echo '<option ' . selected( '3ème arrondissement', $arrondissement, false ) . ' value="3ème arrondissement">3ème arrondissement</option>';
echo '<option ' . selected( '4ème arrondissement', $arrondissement, false ) . ' value="4ème arrondissement">4ème arrondissement</option>';
echo '<option ' . selected( '5ème arrondissement', $arrondissement, false ) . ' value="5ème arrondissement">5ème arrondissement</option>';
echo '<option ' . selected( '6ème arrondissement', $arrondissement, false ) . ' value="6ème arrondissement">6ème arrondissemen</option>';
echo '<option ' . selected( '7ème arrondissement', $arrondissement, false ) . ' value="7ème arrondissement">7ème arrondissement</option>';
echo '<option ' . selected( '8ème arrondissement', $arrondissement, false ) . ' value="8ème arrondissement">8ème arrondissement</option>';
echo '<option ' . selected( '9ème arrondissement', $arrondissement, false ) . ' value="9ème arrondissement">9ème arrondissement</option>';
echo '<option ' . selected( '10ème arrondissement', $arrondissement, false ) . ' value="10ème arrondissement">10ème arrondissement</option>';
echo '<option ' . selected( '11ème arrondissement', $arrondissement, false ) . ' value="11ème arrondissement">11ème arrondissement</option>';
echo '<option ' . selected( '12ème arrondissement', $arrondissement, false ) . ' value="12ème arrondissement">12ème arrondissement</option>';
echo '<option ' . selected( '13ème arrondissement', $arrondissement, false ) . ' value="13ème arrondissement">13ème arrondissement</option>';
echo '<option ' . selected( '14ème arrondissement', $arrondissement, false ) . ' value="14ème arrondissement">14ème arrondissement</option>';
echo '<option ' . selected( '15ème arrondissement', $arrondissement, false ) . ' value="15ème arrondissement">15ème arrondissement</option>';
echo '<option ' . selected( '16ème arrondissement', $arrondissement, false ) . ' value="16ème arrondissement">16ème arrondissement</option>';
echo '<option ' . selected( '17ème arrondissement', $arrondissement, false ) . ' value="17ème arrondissement">17ème arrondissement</option>';
echo '<option ' . selected( '18ème arrondissement', $arrondissement, false ) . ' value="18ème arrondissement">18ème arrondissement</option>';
echo '<option ' . selected( '19ème arrondissement', $arrondissement, false ) . ' value="19ème arrondissement">19ème arrondissement</option>';
echo '<option ' . selected( '20ème arrondissement', $arrondissement, false ) . ' value="20ème arrondissement">20ème arrondissement</option>';
echo '</select>';
echo '</fieldset></div>';
?>
</div>
</div>
<div class="form-group">
<div class="form-select select-type">
<?php
echo '<select name="categories">';
// Add custom option as default
echo '<option>' . __('No Category', 'text-domain') . '</option>';
// Get categories as array
$categories = get_categories( $args );
foreach ( $categories as $category ) :
// Check if current term ID is equal to term ID stored in database
$selected = ( $stored_category_id == $category->term_id ) ? 'selected' : '';
echo '<option value="' . $category->term_id . '" ' . $selected . '>' . $category->name . '</option>';
endforeach;
echo '</select>'; ?>
</div>
</div>
<button type="submit" id="searchsubmit" value="Search" /> <i class="fas fa-search"></i></button>
现在,我需要根据用户的选择(区域和类别)显示搜索结果。我真的不知道如何使它工作。我读的所有主题都是关于通过WP_Query进行循环,我知道我必须将meta_query与tax_query融为一体。 在我的搜索结果页中,我有类似的内容,但始终不返回任何内容。
<?php
$arr = $_GET['arrondissement'];
$args = array(
'fields' => 'ids',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
),
),
'meta_query' => array(
array(
'key' => 'arrondissement',
'value' => $arr,
'compare' => '=',
),
),
);
$query = new WP_Query( $args );?>
我的网址是这样的:?s =&arrondissement =4ème+ arrondissement&categories = 6 我在做什么错了?