[英]Problem filtering wordpress custom post type using get_query_var()
我是论坛的新手,所以对于我可能犯的任何错误,我深表歉意。 我正在自定义一个自定义帖子类型存档页面,在创建它时,我想在侧边栏上插入一个标签列表,以便让用户过滤自定义帖子。
具体来说,我创建了一个“酒店”自定义帖子类型,并且在每个帖子中都使用了一些标签。 我没有创建自定义分类法,因为其他帖子类型也使用了一些标签。 因此,为了仅向用户显示“酒店”帖子类型使用的标签,我正在调用 wordpress 的get_tags()
函数,传递所需标签的 ID 列表。 获得所有标签后,我开始了一个foreach
循环,该循环创建了一个输入元素的无序列表。 每个输入元素都包含一些属性,以便检查它是否包含在 url 中。
现在的问题是,如果我检查侧边栏上的多个标签并单击应用过滤器按钮,带有查询变量的新 url 将显示每个包含至少一个选中标签的帖子。 如何修改整个内容以仅显示必须包含 url 查询中存在的每个标签的帖子?
希望我已经清楚了,我将在上面发布代码。 提前感谢您的帮助。
<?php $hotel_tags = get_tags('include=2,5,11,12,13,22,25,26,27,28,30,31,34,35,41');?>
<form method="GET">
<ul class="tag__line">
<?php foreach($hotel_tags as $tag):?>
<li>
<label>
<input type="checkbox" name="terms[]" value="<?php echo $tag->slug; ?>" <?php checked((isset($_GET['terms']) && in_array($tag->slug, $_GET['terms']))) ?>/>
<?php echo $tag->name; ?>
</label>
</li>
<?php endforeach;?>
</ul>
<button type="submit">Applica filtri</button>
</form>
我找到了一个解决方案,它实际上很容易。
我只需要在我的 functions.php 文件中声明查询变量,以便让它们使用get_query_var()
。
之后,我可以轻松地抓住它们并插入 WP_Query $args
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.