[英]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.