方法一:使用插件隱藏首頁文章
這種方法比較簡單,適合初學者。首先,您需要安裝並激活 WordPress Hide Posts 插件。安裝插件的具體步驟請參見我們的 WordPress 插件安裝指南。一旦插件被激活,請編輯您要隱藏的文章。您會注意到編輯器右側出現了一個新的「Hide Posts」選項。
點擊「Hide Posts」選項會顯示插件設置選項。您可以選擇在首頁、博客頁面、分類或標籤頁面、作者頁面和網站搜索結果中隱藏文章。選擇您所需的選項,然後保存文章。根據您選擇的設置,您現在可以訪問這些頁面,該文章將不會被列出。擁有直接文章鏈接的用戶仍然可以通過進入 URL 來查看該文章。
雖然這種方法最簡單,但它缺乏一些功能。例如,它不允許隱藏頁面或自定義文章類型如 WooCommerce 產品。它也沒有隱藏 WordPress RSS feed 中文章的選項。
方法二:手動隱藏 WordPress 文章和頁面
這種方法需要您添加代碼到您的 WordPress 網站。如果您之前沒有這樣做,請參考我們的如何在 WordPress 中複製和粘貼代碼片段的指南。WordPress 使用數據庫查詢根據用戶查看的頁面來獲取和顯示文章。它還提供了內置的鉤子來在運行查詢之前修改查詢。
我們將使用這些鉤子來修改 WordPress 查詢,並在不同部分隱藏 WordPress 文章、頁面和自定義文章類型。您可以使用代碼片段插件添加自定義代碼,這是最安全的選擇,不會破壞您的網站。或者,您可以將自定義代碼添加到主題的 functions.php 文件或網站專有插件中。
您還需要隱藏文章或頁面的 ID。查看我們快速教程了解如何在 WordPress 中查找文章 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。我們建議使用 WPCode 等代碼片段插件在 WordPress 中輕鬆、安全地添加這段代碼。
首先,您需要安裝並激活免費的 WPCode 插件。安裝插件的具體步驟請參考這個指南。插件啟用後,單擊 WordPress 儀表板中的「代碼片段」菜單項,然後單擊「添加新」按鈕。
接下來,找到「添加自定義代碼(新片段)」選項,然後單擊它下面的「使用片段」按鈕。在「創建自定義片段」頁面,您可以先為片段添加標題,這可以幫助您記住本文代碼的用途。然後將上述代碼粘貼到「代碼預覽」框中,並從下拉菜單中選擇「PHP 片段」作為代碼類型。
之後,將切換按鈕從「未激活」切換到「激活」,並單擊「保存片段」按鈕。
接下來,我們將向您展示一些其他選項來隱藏 WordPress 文章或頁面。您可以按照上述步驟,使用 WPCode 添加這些代碼片段到 WordPress 中。
隱藏 WordPress 文章或頁面從 RSS Feed
如果您想從首頁和 WordPress RSS feed 中隱藏文章,可以在代碼中使用 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 文章或頁面從存檔
如果您想從分類、標籤和日期存檔頁面中隱藏特定文章或頁面,可以使用 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 文章或頁面。那麼如何在所有這些區域中一次性隱藏一篇文章?您可以將我們之前使用的所有條件標籤結合在一個代碼片段中。
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 網站完全私密或我們的專家挑選的適合 WordPress 用戶的最佳 VPN 服務。
如果您喜歡這篇文章,請訂閱我們的 YouTube 頻道以獲取 WordPress 視頻教程。您還可以在 Twitter 和 Facebook 上找到我們。