我在这个项目中继承了一些代码。此搜索有效。我可以单击每个单独的分类法并查看页面上显示的结果。然而,我希望这可以扩展搜索范围,而不仅仅是执行新的搜索,即我试图在某个地区、事件类别和年龄组中查找事件。?region=102&category=8&agegroup=74
$taxonomy_query = array();
if( isset( $_GET[\'region\'] ) && $_GET[\'region\'] ){
$taxonomy_region_query = array( \'taxonomy\' => \'region\', \'field\' => \'id\', \'terms\' => $_GET[\'region\'] );
$taxonomy_query[] = $taxonomy_region_query;
}
if( isset( $_GET[\'category\'] ) && $_GET[\'category\'] ){
$taxonomy_cat_query = array( \'taxonomy\' => \'event_category\', \'field\' => \'id\', \'terms\' => $_GET[\'category\'] );
$taxonomy_query[] = $taxonomy_cat_query;
}
if( isset( $_GET[\'age_groups\'] ) && $_GET[\'age_groups\'] ){
$taxonomy_age_query = array( \'taxonomy\' => \'age_groups\', \'field\' => \'id\', \'terms\' => $_GET[\'age_groups\']);
$taxonomy_query[] = $taxonomy_age_query;
}
if( $taxonomy_region_query & $taxonomy_cat_query & $taxonomy_age_query ){
$taxonomy_query[\'relation\'] = \'AND\';
}
$args = array(
\'post_type\' => array("event"),
\'post_status\' => "publish",
\'meta_key\' => "sc_event_date",
\'orderby\' => "sc_event_date",
\'meta_query\' => $search_query,
\'tax_query\' => $taxonomy_query,
\'order\' => "ASC",
\'posts_per_page\' => 5,
);
$event_query = new WP_Query($args);`
编辑:
对,我改变了搜索的方式,现在我使用单选按钮。
<?php foreach( $regions as $region ) : ?>
<label><input type="radio" name="?region=<?php echo $region->slug;?>" /><span><?php echo $region->name;?></span></input></label><br />
<?php endforeach;?>
我有一个地区,类别和年龄组。我有一个新问题。我已成功启用搜索以添加每个新术语,但我的搜索查询现在如下所示:
?%3Fregion%3Dborders=on&%3Fcategory%3Dadventure-races=on&%3Fcategory%3Dadult=on
分类查询无法识别此格式,只有当结果以此格式显示在url中时,它才会显示结果:
?region=borders&category=adventure-races&agegroup=adult
如何使我的搜索输出与taxomony查询搜索相同的格式?据我所知,导致问题的是%3F、%3F和=on。非常沮丧。我快到了。