目錄
鑰匙要點
>如何在WordPress中自定義搜索結果?
我可以使用標籤來改善wordpress中的搜索結果?
>如何使用“ query_vars”過濾器更改WordPress中的搜索查詢參數?這使您可以將默認的“ S”參數更改為更特定於您的需求的東西。例如,您可以將其更改為'search_term',以使您的URL更加用戶友好。
>
首頁 CMS教程 &#&按 如何在WordPress網站上添加高級搜索

如何在WordPress網站上添加高級搜索

Feb 20, 2025 pm 12:07 PM

鑰匙要點

    通過使用WordPress Core內深處的其他參數,可以增強WordPress搜索表格超出基本Querystring參數“ s”,從而允許更加集中的搜索結果。
  • >搜索結果可以通過類別或標籤來改進,分別將其各自的sl子傳遞到“ category_name”或“ tag”參數。這可以在不需要插件的情況下完成。
  • 使用PHP數組參數可以通過多個值進一步完善高級搜索,可以在WordPress主題的functions.php文件中攔截並設置。這允許用戶選擇多個標籤以進行更集中的搜索。
  • 大多數WordPress搜索表格設置了一個名為“ S”的單個Querystring參數:
  • 這沒什麼錯,我認為這是很多年來的唯一選擇。 但是,在沒有插件的情況下,可以進行更高級的查詢(儘管有很多可用)。在WordPress核心內部,應用程序解析了其他幾個Querystring參數,並使用它們來返回一組更為專注的搜索結果集。有一些基本文檔列出了參數名稱:
附件
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
登入後複製
登入後複製
  • 作者
  • fure_name
  • cat
  • > category_name
  • > comment_popup
  • >錯誤
  • feed
  • 小時
  • m
  • 分鐘
  • 月份
  • >名稱
  • p
  • page_id
  • >
  • > Pagename
  • > post_parent
  • > post_type
  • 預覽
  • 第二
  • >靜態
  • >子
  • subpost_id
  • >標籤
  • tag_id
  • > tb
  • w
  • 我不相信所有這些工作,而有些工作有些毫無意義,但是它們可以與您可以傳遞給WP_QUERY的參數相匹配。因此,我們可以使用帶有PHP的SMIDGEN的HTML創建高級搜索表格,以使選項自動化。

    按類別搜索
    <span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
    </span><span><span><span><fieldset</span>></span>
    </span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
    </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
    </span><span><span><span></fieldset</span>></span>
    </span><span><span><span></form</span>></span></span>
    登入後複製
    登入後複製
    您可以通過將其slug傳遞到category_name參數,例如,例如,將結果限制為類別。
    http://yoursite.com/?s=search+term&category_name=kittens
    登入後複製
    我們的搜索表可以使用戶將其搜索完善為特定類別:
    <span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
    </span><span><span><span><fieldset</span>></span>
    </span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
    </span><span><span><span><select</span> name<span>="category_name"</span>></span>
    </span><span><span><span><option</span> value<span>=""</span>></span>all categories<span><span></option</span>></span>
    </span><span><span><span><option</span> value<span>="kittens"</span>></span>cute kittens<span><span></option</span>></span>
    </span><span><span><span><option</span> value<span>="puppies"</span>></span>adorable puppies<span><span></option</span>></span>
    </span><span><span><span></select</span>></span>
    </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
    </span><span><span><span></fieldset</span>></span>
    </span><span><span><span></form</span>></span></span>
    登入後複製
    如果您想列出所有類別,請在標籤:

    >通過TAG
    <span><span><?php
    </span></span><span><span>// generate list of categories
    </span></span><span><span>$categories = get_categories();
    </span></span><span><span>foreach ($categories as $category) {
    </span></span><span>	<span>echo '<option value="', $category->slug, '">', $category->name, "</option>\n";
    </span></span><span><span>}
    </span></span><span><span>?></span></span>
    登入後複製
    完善搜索 搜索結果可以通過將其slug傳遞給標籤參數,例如
    http://yoursite.com/?s=search+term&tag=cockroach
    登入後複製
    因此,您的搜索可能會將結果限制為某些標籤,例如
    <span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
    </span><span><span><span><fieldset</span>></span>
    </span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
    </span><span><span><span><select</span> name<span>="tag"</span>></span>
    </span><span><span><span><option</span> value<span>=""</span>></span>any tag<span><span></option</span>></span>
    </span><span><span><span><option</span> value<span>="cockroach"</span>></span>cockroaches<span><span></option</span>></span>
    </span><span><span><span><option</span> value<span>="snake"</span>></span>snakes<span><span></option</span>></span>
    </span><span><span><span></select</span>></span>
    </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
    </span><span><span><span></fieldset</span>></span>
    </span><span><span><span></form</span>></span></span>
    登入後複製
    同樣,您可以為選擇字段生成所有標籤的列表:

    前進的高級搜索
    <span><span><?php
    </span></span><span><span>// generate list of tags
    </span></span><span><span>$tags = get_tags();
    </span></span><span><span>foreach ($tags as $tag) {
    </span></span><span>	<span>echo '<option value="', $tag->slug, '">', $tag->name, "</option>\n";
    </span></span><span><span>}
    </span></span><span><span>?></span></span>
    登入後複製
    如果您想通過多個值完善搜索怎麼辦?例如,用戶可以選擇兩個或多個標籤,並且結果頁面必須設置所有標籤。我們不能僅使用URL參數來實現此目標,但讓我們首先定義HTML搜索表格:
    <span><span><span><form</span> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></span>
    </span><span><span><span><fieldset</span>></span>
    </span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
    </span><span><span><span><p</span>></span>Refine search to posts containing chosen tags:<span><span></p</span>></span>
    </span><span><span><?php
    </span></span><span><span>// generate list of tags
    </span></span><span><span>$tags = get_tags();
    </span></span><span><span>foreach ($tags as $tag) {
    </span></span><span>	<span>echo 
    </span></span><span>		<span>'<label>',
    </span></span><span>		<span>'<input type="checkbox" name="taglist[]" value="',  $tag->slug, '" /> ',
    </span></span><span>		<span>$tag->name,
    </span></span><span>		<span>"</label>\n";
    </span></span><span><span>}
    </span></span><span><span>?></span>
    </span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
    </span><span><span><span></fieldset</span>></span>
    </span><span><span><span></form</span>></span></span>
    登入後複製
    請注意,我使用了名為taglist的PHP數組參數 。您可以使用WordPress已保留的名稱以外的任何名稱(請參見上面的列表)。 現在,我們可以在WordPress主題的functions.php文件中攔截搜索提交。 Advanced_search_query函數檢測是否有效搜索,然後相應地設置WP_QUERY TAG_SLUG__和參數。
    <span>// advanced search functionality
    </span><span>function advanced_search_query($query) {
    </span>
    	<span>if($query->is_search()) {
    </span>		
    		<span>// tag search
    </span>		<span>if (isset($_GET['taglist']) && is_array($_GET['taglist'])) {
    </span>			<span>$query->set('tag_slug__and', $_GET['taglist']);
    </span>		<span>}
    </span>	
    		<span>return $query;
    </span>	<span>}
    </span>
    <span>}</span>
    登入後複製
    最後,我們使用pre_get_posts操作鉤在執行查詢之前運行我們的高級_search_query函數: 將高級搜索設施添加到WordPress非常容易,但很少有開發人員意識到這是可能的……也許是因為文檔和示例有點稀疏

    。我偶然發現了它,希望您在下一個WordPress項目中發現此代碼很有用。

    在WordPress中經常詢問有關高級搜索的問題

    >如何在WordPress中自定義搜索結果?

    >可以通過使用WP_QUERY類自定義WordPress中的搜索結果。此類允許您定義特定參數來調整搜索結果。例如,您可以將參數設置為僅在帖子標題中搜索,排除某些帖子類型,甚至在自定義字段中搜索。您還可以使用提供高級搜索自定義選項的searchwp之類的插件。

    我可以使用標籤來改善wordpress中的搜索結果?

    是的,標籤可以顯著改善WordPress中的搜索結果。通過使用get_the_tags()函數,您可以檢索與特定帖子關聯的標籤。這可以用來創建更精緻的搜索體驗,從而使用戶可以搜索具有特定標籤的帖子。

    >如何使用“ query_vars”過濾器更改WordPress中的搜索查詢參數?這使您可以將默認的“ S”參數更改為更特定於您的需求的東西。例如,您可以將其更改為'search_term',以使您的URL更加用戶友好。

    > wordpress中的wp_query是什麼?

    wp_query是WordPress中的一類,可以創建自定義自定義查詢和循環。它提供了許多參數,您可以使用這些參數來自定義查詢,例如Post類型,類別,標籤,作者等。這使其成為創建高級搜索功能的功能強大的工具。

    >

    我如何從WordPress中的搜索結果中排除某些帖子類型?

    >可以使用' pre_get_posts的動作鉤與WP_QUERY類結合使用。您可以將“ post_type”參數設置為要在搜索結果中包含的帖子類型的數組,有效地排除了所有其他內容。

    我可以在WordPress中的自定義字段中搜索嗎?是的,您可以使用WP_QUERY中的“ meta_query”參數在WordPress中的自定義字段中搜索。這使您可以指定一個自定義字段鍵和值,並返回與這些條件相匹配的帖子。

    >

    >如何改善WordPress中的搜索功能?通過使用SearchWP,Ressienanssi或Ajax Search Pro等插件。這些插件提供了高級搜索功能,例如部分匹配,關鍵字steamming和搜索權重,提供更好的用戶體驗。

    >

    我可以在沒有插件的情況下在WordPress中創建搜索表格嗎?可以通過使用get_search_form()函數在無插件的情況下在WordPress中創建搜索表格。此函數生成了搜索表格的HTML,您可以自定義以適合您的需求。

    >

    如何在WordPress中顯示搜索查詢? get_search_query()函數。此函數檢索搜索查詢字符串,可用於在您的搜索結果頁面上顯示搜索詞。

    我可以限制WordPress中的搜索結果數嗎?通過使用WP_QUERY中的“ post_per_page”參數在WordPress中的搜索數量。這使您可以指定每個頁面顯示的帖子數,從而有效地限制了搜索結果的數量。
  • 以上是如何在WordPress網站上添加高級搜索的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱門文章

    <🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
    3 週前 By 尊渡假赌尊渡假赌尊渡假赌
    Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
    3 週前 By 尊渡假赌尊渡假赌尊渡假赌
    北端:融合系統,解釋
    3 週前 By 尊渡假赌尊渡假赌尊渡假赌

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    熱門話題

    Java教學
    1667
    14
    CakePHP 教程
    1426
    52
    Laravel 教程
    1328
    25
    PHP教程
    1273
    29
    C# 教程
    1255
    24
    如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 如何在 WordPress 中獲取登錄用戶信息以獲得個性化結果 Apr 19, 2025 pm 11:57 PM

    最近,我們向您展示瞭如何通過允許用戶將自己喜歡的帖子保存在個性化庫中來為用戶創建個性化體驗。您可以通過在某些地方(即歡迎屏幕)使用他們的名字,將個性化結果提升到另一個水平。幸運的是,WordPress使獲取登錄用戶的信息變得非常容易。在本文中,我們將向您展示如何檢索與當前登錄用戶相關的信息。我們將利用get_currentuserinfo(); 功能。這可以在主題中的任何地方使用(頁眉、頁腳、側邊欄、頁面模板等)。為了使其工作,用戶必須登錄。因此我們需要使用

    wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

    有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

    如何開始WordPress博客:初學者的分步指南 如何開始WordPress博客:初學者的分步指南 Apr 17, 2025 am 08:25 AM

    博客是人們在網上表達觀點、意見和見解的理想平台。許多新手渴望建立自己的網站,卻因擔心技術障礙或成本問題而猶豫不決。然而,隨著平台不斷發展以滿足初學者的能力和需求,現在開始變得比以往任何時候都更容易。 本文將逐步指導您如何建立一個WordPress博客,從主題選擇到使用插件提升安全性和性能,助您輕鬆創建自己的網站。 選擇博客主題和方向 在購買域名或註冊主機之前,最好先確定您計劃涵蓋的主題。個人網站可以圍繞旅行、烹飪、產品評論、音樂或任何激發您興趣的愛好展開。專注於您真正感興趣的領域可以鼓勵持續寫作

    如何在父分類的存檔頁面上顯示子分類 如何在父分類的存檔頁面上顯示子分類 Apr 19, 2025 pm 11:54 PM

    您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

    如何在 WordPress 中按帖子過期日期對帖子進行排序 如何在 WordPress 中按帖子過期日期對帖子進行排序 Apr 19, 2025 pm 11:48 PM

    過去,我們分享過如何使用PostExpirator插件使WordPress中的帖子過期。好吧,在創建活動列表網站時,我們發現這個插件非常有用。我們可以輕鬆刪除過期的活動列表。其次,多虧了這個插件,按帖子過期日期對帖子進行排序也非常容易。在本文中,我們將向您展示如何在WordPress中按帖子過期日期對帖子進行排序。更新了代碼以反映插件中更改自定義字段名稱的更改。感謝Tajim在評論中讓我們知道。在我們的特定項目中,我們將事件作為自定義帖子類型。現在

    如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) 如何使用 IFTTT 自動化 WordPress 和社交媒體(及更多) Apr 18, 2025 am 11:27 AM

    您是否正在尋找自動化 WordPress 網站和社交媒體帳戶的方法? 通過自動化,您將能夠在 Facebook、Twitter、LinkedIn、Instagram 等平台上自動分享您的 WordPress 博客文章或更新。 在本文中,我們將向您展示如何使用 IFTTT、Zapier 和 Uncanny Automator 輕鬆實現 WordPress 和社交媒體的自動化。 為什麼要自動化 WordPress 和社交媒體? 自動化您的WordPre

    wordpress主機怎麼建站 wordpress主機怎麼建站 Apr 20, 2025 am 11:12 AM

    要使用 WordPress 主機建站,需要:選擇一個可靠的主機提供商。購買一個域名。設置 WordPress 主機帳戶。選擇一個主題。添加頁面和文章。安裝插件。自定義您的網站。發布您的網站。

    如何在 WordPress 中顯示查詢數量和頁面加載時間 如何在 WordPress 中顯示查詢數量和頁面加載時間 Apr 19, 2025 pm 11:51 PM

    我們的一位用戶詢問其他網站如何在頁腳中顯示查詢數量和頁面加載時間。您經常會在網站的頁腳中看到這一點,它可能會顯示類似以下內容:“1.248秒內64個查詢”。在本文中,我們將向您展示如何在WordPress中顯示查詢數量和頁面加載時間。只需將以下代碼粘貼到主題文件中您喜歡的任何位置(例如footer.php)。 queriesin

    See all articles