如何在WordPress中從首頁隱藏帖子


您是否曾經想從WordPress主頁或博客存檔頁面隱藏博客文章?

雖然您可以將WordPress帖子設置為受密碼保護或不公開,但在某些情況下,您可能只希望隱藏主頁中的帖子,同時如果其他人具有直接鏈接,則仍允許他們查看它。

在本文中,我們將向您展示如何隱藏WordPress中選定頁面的帖子,例如首頁,類別檔案,搜索結果等。

隱藏WordPress主頁中的帖子

方法1.使用插件從主頁隱藏WordPress帖子

這種方法比較容易,建議初學者使用。

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

激活插件後,繼續編輯您要隱藏的帖子。 您會在編輯器的右列中看到一個新的“隱藏帖子”部分。

隱藏帖子設置

單擊它會顯示插件選項。 您可以在首頁和博客頁面,類別或標籤頁面,作者頁面以及站點搜索結果中隱藏帖子。

只需選擇您喜歡的選項,然後保存您的帖子。

現在,根據您選擇的選項,您可以訪問這些頁面,並且該特定帖子不會列出。

具有直接發布URL(永久鏈接)的所有用戶仍然可以通過輸入URL來查看它。

儘管此方法最簡單,但缺少幾個強大的選項。

例如,您不能隱藏頁面或自定義帖子類型,如WooCommerce產品。 它還沒有從WordPress RSS feed中隱藏帖子的選項。

方法2。手動隱藏WordPress帖子和頁面

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

WordPress使用數據庫查詢來獲取和顯示基於用戶正在查看的頁面的帖子。 它還提供內置的掛鉤,以在運行查詢之前修改查詢。

我們將使用這些鉤子來修改WordPress查詢並在不同部分中隱藏WordPress帖子,頁面和自定義帖子類型。

您可以使用代碼段插件添加自定義代碼,該插件更加安全且不會破壞您的網站。 或者,您可以將自定義代碼添加到主題的functions.php文件或特定於站點的插件中。

您還將需要您想要隱藏的帖子或頁面的ID。 我們有一個關於如何在WordPress中查找帖子ID的快速教程,其中顯示瞭如何獲取此信息。

基本上,您只需編輯帖子或頁面即可在瀏覽器的地址欄中查看其ID。

在地址欄中查找帖子ID

話雖如此,讓我們深入研究代碼部分。

從首頁隱藏WordPress帖子或頁面

以下代碼使用is_home()條件標記來確定用戶是否正在查看主頁。 如果是,則從查詢中排除帖子ID。

function wpb_exclude_from_home($query) {
	  if ($query->is_home() ) {
		  $query->set('post__not_in', array(1737, 1718));
	  }
}
add_action('pre_get_posts', 'wpb_exclude_from_home');

不要忘記用要排除的帖子或頁面的實際ID替換數組中的ID。

從RSS Feed隱藏WordPress帖子或頁面

如果要隱藏主頁以及WordPress RSS feed上的WordPress帖子,則只需在代碼中使用is_feed條件標記即可。

function wpb_exclude_from_feed($query) {
	  if ($query->is_feed() ) {
		  $query->set('post__not_in', array(1737, 1718));
	  }
}
add_action('pre_get_posts', 'wpb_exclude_from_feed');

現在,如果您以管理員身份登錄並嘗試訪問WordPress RSS feed,那麼您仍將在此處看到列出的帖子。 其他用戶在查看您的RSS feed時將看不到被排除的帖子。

從站點搜索隱藏WordPress帖子或頁面

現在,如果您想隱藏WordPress網站搜索中的特定帖子怎麼辦? 為此,您只需要在代碼中添加is_search條件標籤即可。

function wpb_exclude_from_search($query) {
	  if ( $query->is_search() ) {
		  $query->set('post__not_in', array(1737, 1718));
	  }
}
add_action('pre_get_posts', 'wpb_exclude_from_search');

現在,您可以訪問您的網站並蒐索要隱藏的帖子。 即使這些帖子是公開的,它們也不會出現在搜索結果中。

從搜索結果中排除帖子

隱藏檔案中的WordPress帖子或頁面

如何從類別,標籤和日期檔案等檔案頁面隱藏特定的WordPress帖子或頁面? 為此,我們將使用is_archive()條件標記。

function wpb_exclude_from_archives($query) {
	  if ( $query->is_archive() ) {
		  $query->set('post__not_in', array(1737, 1718));
	  }
}
add_action('pre_get_posts', 'wpb_exclude_from_archives');

隱藏WordPress帖子或頁面

到目前為止,我們已經學習瞭如何從特定區域隱藏WordPress帖子或頁面。 現在,如何一次將所有這些區域完全隱藏WordPress帖子呢?

為此,您可以將我們之前使用的所有條件標籤合併到一個代碼段中。

function wpb_exclude_from_everywhere($query) {
	  if ( $query->is_home() || $query->is_feed() ||  $query->is_search() || $query->is_archive() ) {
		  $query->set('post__not_in', array(1737, 1718));
	  }
}
add_action('pre_get_posts', 'wpb_exclude_from_everywhere');

此代碼將從首頁,RSS feed,搜索結果和存檔頁面隱藏給定的帖子。

在WordPress中控制內容可見性

您可以使用上述兩種方法隱藏WordPress帖子或頁面。 讓我們回答有關WordPress中內容可見性控制選項的一些最常見問題。

這些方法是否完美地隱藏了內容?

不,他們沒有。

例如,搜索引擎可能已經對帖子進行了爬網並建立了索引,然後才能將其隱藏。 如果您想阻止搜索引擎,請參閱我們的指南,了解如何從Google隱藏WordPress頁面。

如果WordPress插件使用自定義查詢會跳過您的檢查並顯示您要隱藏的內容,那麼這也將不起作用。

更好的方法是用密碼保護帖子,以便只有擁有密碼的用戶才能查看帖子。

您還可以創建一個私人帖子,該帖子僅對您網站上的管理員,編輯者和作者可見。

我可以使用這些方法為特定用戶創建內容嗎?

不可以,這些方法不允許您與特定用戶有效地共享內容。 更好的方法是使用WordPress成員資格插件。

像MemberPress這樣的會員插件允許您創建和發布受限制的內容。 您甚至可以出售訂閱計劃以訪問高級內容。

有關更多詳細信息,請參閱有關如何創建WordPress會員網站的指南,並提供分步說明。

我們希望本文能幫助您學習如何從首頁和網站的其他區域隱藏WordPress帖子。 您可能還希望查看有關如何使WordPress網站完全私有的指南。

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