如何在WordPress中為自定義帖子類型創建高級搜索表單


您是否曾經在具有很多自定義帖子類型的WordPress網站上工作? WordPress搜索本身就是一場災難,這就是為什麼許多博客使用Google自定義搜索的原因。 好吧,我們正在一個擁有大量資源文章,視頻,書籍和博客文章的網站上工作。 使用默認的WordPress搜索並沒有減少它。 使用Google搜索也不是一個可行的選擇。 因此,我們決定創建一個高級搜索表單,允許用戶通過複選框限制自定義帖子類型,從而選擇他們要搜索的站點區域。 用戶可以組合他們的搜索查詢,最重要的是,我們做到了,因此復選框與搜索查詢一起保存。 這使用戶可以準確地看到他們搜索的內容,並且可以修改參數。 在本文中,我們將向您展示如何利用WordPress搜索查詢的功能在WordPress中創建高級搜索表單,並通過自定義帖子類型限制結果。

您需要做的第一件事是打開searchform.php文件或將搜索表單存儲在任何地方。 然後在表單代碼內添加以下字段:



 
  

不要忘了用您的自定義帖子類型替換該值。 上面的代碼基本上將您的搜索結果限制為這些帖子類型。 好吧,如果您注意到我們幾乎添加了除頁面之外的所有可用帖子類型。 好吧,這樣做有充分的理由,我們稍後會講到。 因此,請確保包含要使用主搜索按鈕搜索的所有帖子類型。 這些字段是隱藏的,因此用戶看不到它們。

接下來打開您的search.php文件,並將以下代碼粘貼到循環內容上方,以便您的用戶可以在頂部看到這些選項。


這將在結果上方添加一個搜索框,並在輸入框內添加搜索查詢。 這還將檢查在查詢中搜索哪些帖子類型,並選中相應的複選框。 記住,我們是如何在隱藏字段中添加所有帖子類型的。 好吧,我們添加了它只是為了可以運行in_array檢查並使復選框保持選中狀態。 沒有關於如何執行此操作的文檔,因此這是我們發現完成此操作的最佳方法。 以下是搜索框外觀的預覽:

進階搜尋表格

從那裡,用戶可以根據需要簡單地修改參數。

希望本文可以幫助那些有需要的人。 當我們進行研究時,有很多不完整的文章。 在較舊的主題中找到了在WordPress支持論壇中添加複選框的答案,但是他們只是在談論隱藏的字段。 而我們希望為用戶提供修改搜索查詢的選項。 支持@tammyhart,以正確的方式為我們指出已檢查的變量查詢。