態
鑰匙要點
-
通過使用WordPress Core內深處的其他參數,可以增強WordPress搜索表格超出基本Querystring參數“ s”,從而允許更加集中的搜索結果。
- >搜索結果可以通過類別或標籤來改進,分別將其各自的sl子傳遞到“ category_name”或“ tag”參數。這可以在不需要插件的情況下完成。 使用PHP數組參數可以通過多個值進一步完善高級搜索,可以在WordPress主題的functions.php文件中攔截並設置。這允許用戶選擇多個標籤以進行更集中的搜索。
- 大多數WordPress搜索表格設置了一個名為“ S”的單個Querystring參數:
- 這沒什麼錯,我認為這是很多年來的唯一選擇。 但是,在沒有插件的情況下,可以進行更高級的查詢(儘管有很多可用)。在WordPress核心內部,應用程序解析了其他幾個Querystring參數,並使用它們來返回一組更為專注的搜索結果集。有一些基本文檔列出了參數名稱:
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span>
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span>您可以通過將其slug傳遞到category_name參數,例如,例如,將結果限制為類別。
http://yoursite.com/?s=search+term&category_name=kittens我們的搜索表可以使用戶將其搜索完善為特定類別:
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><select> name<span>="category_name"</span>></select></span> </span><span><span><span><option> value<span>=""</span>></option></span>all categories<span><span></span>></span> </span><span><span><span><option> value<span>="kittens"</span>></option></span>cute kittens<span><span></span>></span> </span><span><span><span><option> value<span>="puppies"</span>></option></span>adorable puppies<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span></span></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></span>完善搜索 搜索結果可以通過將其slug傳遞給標籤參數,例如
http://yoursite.com/?s=search+term&tag=cockroach因此,您的搜索可能會將結果限制為某些標籤,例如
<span><span><span><form> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><select> name<span>="tag"</span>></select></span> </span><span><span><span><option> value<span>=""</span>></option></span>any tag<span><span></span>></span> </span><span><span><span><option> value<span>="cockroach"</span>></option></span>cockroaches<span><span></span>></span> </span><span><span><span><option> value<span>="snake"</span>></option></span>snakes<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></span></span></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></span>如果您想通過多個值完善搜索怎麼辦?例如,用戶可以選擇兩個或多個標籤,並且結果頁面必須設置所有標籤。我們不能僅使用URL參數來實現此目標,但讓我們首先定義HTML搜索表格:
<span><span><span><form> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></form></span> </span><span><span><span><fieldset>></fieldset></span> </span><span><span><span><input> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search…"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span> </span><span><span><span><p>></p></span>Refine search to posts containing chosen tags:<span><span></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>', </label></span></span><span> <span>'<input type="checkbox" name="taglist[]" value="', $tag->slug, '"> ', </span></span><span> <span>$tag->name, </span></span><span> <span>"\n"; </span></span><span><span>} </span></span><span><span>?></span> </span><span><span><span><button> type<span>="submit"</span>></button></span>Search<span><span></span>></span> </span><span><span><span></span>></span> </span><span><span><span></span>></span></span></span></span></span></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中文網其他相關文章!

本教程演示了使用面向對象的編程(OOP)原理構建WordPress插件,利用Dribbble API。 讓我們在保留原始含義和結構的同時完善文本以清晰和簡潔。 object-ori

將PHP數據傳遞給JavaScript的最佳實踐:WP_LOCALIZE_SCRIPT和WP_ADD_INLINE_SCRIPT的比較是PHP文件中靜態字符串中數據存儲數據的最佳實踐。 如果在您的JavaScript代碼中需要此數據,請合併

本指南演示瞭如何使用WordPress PDF插件在WordPress帖子和頁面中嵌入和保護PDF文件。 PDFS為從目錄到演示文稿提供了一種用戶友好的,普遍訪問的格式。 此方法ENS

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

人們選擇使用WordPress是因為其強大和靈活性。 1)WordPress是一個開源的CMS,易用性和可擴展性強,適合各種網站需求。 2)它有豐富的主題和插件,生態系統龐大,社區支持強大。 3)WordPress的工作原理基於主題、插件和核心功能,使用PHP和MySQL處理數據,支持性能優化。

WordPress核心版本是免費的,但使用過程中可能產生其他費用。 1.域名和託管服務需要付費。 2.高級主題和插件可能需要付費。 3.專業服務和高級功能可能需要付費。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具