如何從WordPress搜索中排除特定的頁面,作者等


您要從WordPress搜索中排除特定頁面,作者等嗎? 默認情況下,WordPress搜索包括搜索結果中的所有帖子和頁面。 在本文中,我們將向您展示如何輕鬆地從WordPress搜索結果中排除特定頁面,帖子,作者,類別等。

從WordPress搜索中排除頁面,作者,類別,標籤等

為什麼要從WordPress搜索中排除項目?

默認的WordPress搜索功能顯示所有WordPress帖子,頁面和自定義帖子類型的結果。 這對於大多數網站都是可接受的,並且不會影響WordPress SEO或性能。

但是,如果您正在運行在線商店,則有些頁面可能不希望出現在搜索結果中。 例如,成功下載後的結帳頁面,我的帳戶頁面或感謝頁面。

同樣,如果您正在運行WordPress成員資格網站或LMS插件,則您的網站上可能會存在一些頁面和自定義帖子類型,您可能希望將它們從搜索結果中排除。

一些網站所有者可能希望隱藏類別或分類法,而另一些網站所有者可能希望隱藏特定作者的帖子。 通過排除不必要的項目來優化網站搜索,可以提供更好的用戶體驗並提高網站的可用性。

話雖如此,讓我們看一下如何輕鬆地從WordPress搜索中排除項目。

1.從搜索中排除特定的帖子,頁面和自定義帖子類型

您需要做的第一件事是安裝並激活Search Exclude插件。 有關更多詳細信息,請參閱有關如何安裝WordPress插件的分步指南。

激活後,編輯要從搜索結果中排除的帖子,頁面或自定義帖子類型。 在編輯屏幕上,您會看到一個搜索排除框。

從搜索框中排除

只需選中“從搜索結果中排除”複選框,別忘了保存您的帖子/頁面。 這個特定的帖子/頁面將不再出現在WordPress搜索結果中。

要查看從搜索中排除的所有項目,請轉到 設置»搜索排除 頁。 在這裡,您將看到從WordPress搜索結果中排除的項目列表。

您已從WordPress搜索中排除的內容

如果要刪除限制,只需取消選中要添加的項目旁邊的框,然後單擊“保存更改”按鈕。

2.從WordPress搜索中排除特定類別,標籤,自定義分類法

此方法要求您將代碼添加到WordPress網站。 如果您以前沒有做過,請查看我們的指南,了解如何在WordPress中復制和粘貼代碼段。

首先,您需要找到要排除的類別ID。

接下來,您需要將以下代碼添加到主題的functions.php文件或特定於站點的插件中。

function wpb_search_filter( $query ) {
	if ( $query->is_search && !is_admin() )
		$query->set( 'cat','-7' );
	return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

不要忘記將7替換為您要排除的類別ID。

現在,假設您要排除多個類別。 您將通過這種方式修改代碼以排除多個類別。

function wpb_search_filter( $query ) {
	if ( $query->is_search && !is_admin() )
		$query->set( 'cat','-7, -10, -21' );
	return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

我們僅添加了要排除的類別ID,以逗號分隔。

從WordPress搜索中排除特定標籤

如果要排除在特定標籤下歸檔的帖子,則可以使用以下代碼。

function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() )
		$query->set( 'tag','-19' );
	return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

不要忘記用您要排除的標籤ID替換19。

同樣,您可以修改代碼以排除多個標籤。

function wpb_search_filter( $query ) {
if ( $query->is_search && !is_admin() )
		$query->set( 'tag','-19, -27, -56' );
	return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

從WordPress搜索中排除自定義分類法中的特定術語

如果要從WordPress搜索結果中排除自定義分類法中的術語,則需要添加以下代碼。

function wpb_modify_search_query( $query ) {
	global $wp_the_query;
	if( $query === $wp_the_query && $query->is_search() ) {
		$tax_query = array(
			array(
				'taxonomy' => 'genre',
				'field' => 'slug',
				'terms' => 'action',
				'operator' => 'NOT IN',
			)
		);
		$query->set( 'tax_query', $tax_query );
	}
}
add_action( 'pre_get_posts', 'wpb_modify_search_query' );

不要忘記用自定義分類法替換“體裁”,並用您要排除的術語替換“動作”。

3.從WordPress搜索中排除特定作者

如果要從WordPress搜索結果中排除特定作者創建的帖子,則有兩種方法可以做到這一點。

如果作者只有幾篇文章,並且您確定他們不會再添加更多文章,那麼您可以使用本文中的第一種方法從WordPress搜索中排除他們的文章。

但是,如果有很多作者撰寫的帖子,那麼您可以使用以下代碼從WordPress搜索結果中排除所有帖子。

function wpb_search_filter( $query ) {
	if ( $query->is_search && !is_admin() )
		$query->set( 'author','-24' );
	return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

不要忘記用您要排除的作者的用戶ID替換24。

您還可以使用相同的代碼通過添加其作者ID(以逗號分隔)來排除多個作者。

function wpb_search_filter( $query ) {
	if ( $query->is_search && !is_admin() )
		$query->set( 'author','-24, -12, -19' );
	return $query;
}
add_filter( 'pre_get_posts', 'wpb_search_filter' );

我們希望本文能幫助您學習如何排除WordPress搜索中的特定頁面,作者等內容。 您可能還想查看我們最好的WordPress搜索插件列表,以改善您的站點搜索。

如果您喜歡這篇文章,請訂閱我們的YouTube頻道WordPress視頻教程。 您也可以在找到我們 推特 和Facebook。