如何製作 WordPress 私有頁面(3 種方法)

已發表: 2023-03-23

在 WordPress 中,頁面和帖子都默認可供公眾訪問。 這通常沒問題,但通常情況下您會想要限制訪問。 有多種方法可以使 WordPress 頁面私有化,包括使用 WordPress 中的內部工具、通過編輯主題和使用插件。

最好的方法取決於您要實現的目標。 如果您想製作一個只能由站點編輯和管理員查看的私人頁面,或者根據密碼限制訪問,WordPress 中的工具非常有用。

不幸的是,內部工具有其局限性。 如果您的目標是將內容限制為已登錄的用戶或某些付費或非付費會員級別,則您需要使用其他方法。

目錄
1.什麼是私有頁面?
1.1. 創建私人頁面或帖子
2.基於用戶限制訪問
2.1. 使用子主題使內容私有
2.2. 使用插件使 WordPress 頁面私有化
3.結論

什麼是私有頁面?

一個 WordPress 私有頁面就是:私有。 您網站上的大部分內容都可供公眾訪問,但私人頁面只能由某些人訪問。 私人帖子本質上是同一件事,但帖子而不是頁面。 下面概述的方法適用於這兩種內容類型。

至少有三種不同的方法可以使您的 WordPress 內容私有化:

  • 改變可見性。
  • 用密碼保護它。
  • 根據用戶級別限制訪問。

您使用的確切方法取決於您要實現的目標。 您可以使用 WordPress 中的內置工具將您網站上的任何帖子或頁面從公開更改為私有,然後只需輕輕一按即可恢復。 受密碼保護的 WordPress 帖子和頁面同樣易於設置,並確保只有擁有密碼的用戶才能查看內容。 不幸的是,這兩種方法的範圍都有限。

對於 WordPress 私人頁面和帖子,只有具有編輯或管理員訪問權限的用戶才能查看設置為“私人”可見性的帖子或頁面。 除了將其公開或為其設置密碼外,無法授予其他用戶級別的訪問權限。

可以用密碼保護您想要設為私有的每一個內容,但這是以糟糕的用戶體驗為代價的。


創建私人頁面或帖子

第一步是通過在 WordPress 管理菜單中選擇“頁面”並單擊“添加新”來創建一個新頁面。 您還可以通過選擇現有頁面然後執行此過程的其餘部分來更改現有頁面的隱私。

通過 WordPress 的主“頁面”頁面

接下來,找到編輯窗口右側的“摘要”部分,然後單擊“可見性”。 這將打開一個模式,讓您從三個選項中進行選擇:

  • 公共:所有頁面和帖子的默認設置。
  • 私人:這將限制站點管理員和編輯的可見性。
  • 密碼保護:此設置限制輸入正確密碼的訪問者的可見性。
通過 WordPress 的私人頁面

一般來說,您最好使用另一種技術來管理用戶對內容的訪問,但在某些情況下,密碼保護可以完成這項工作。 它還具有免費和易於設置的雙重優勢。 只需單擊“密碼保護”,輸入您的密碼,即可完成。

通過 WordPress 的密碼保護頁面

主要缺點是密碼僅作為您的用戶群是安全的。 內置工具可讓您為頁面或帖子設置一個密碼。 無法在每個用戶的基礎上隨機生成它們,也無法阻止用戶共享它們。 您可以經常更改它們,但這會增加您的工作量,只會讓用戶體驗更差。

“門控”內容是將部分 WordPress 網站設為私有的最常見原因之一。 通常這意味著將這些帖子、頁面和下載限制為註冊用戶,這是內部工具不會做的。

在下一節中,我們將討論如何限制對具有子主題的內容的訪問,以及查看一些用於根據用戶訪問權限製作私人頁面和帖子的可用插件。


基於用戶限制訪問

WordPress 內部工具有其用途,但它們無法為您提供確保只有登錄用戶才能訪問帖子或頁面的方法。 為此,我們建議修改子主題的functions.php文件或使用插件。

使用子主題使內容私有

可以通過修改主題中的functions.php文件來限制用戶訪問。 該文件本身位於wp-content/themes/name_of_theme中。

使用此技術的第一步是創建子主題。 我們不建議直接對您的父主題進行更改,因為一個錯誤可能會對您網站的呈現產生廣泛的影響。 此外,在某個時候該主題可能會收到更新。 您對父主題所做的任何修改都將被更新清除。

創建子主題後,下一步是將一些自定義代碼添加到其functions.php文件中。

此解決方案將允許登錄用戶訪問帖子或頁面,同時讓未登錄的用戶進入登錄頁面。

下面的代碼由以下元素構成:

  • template_redirect掛鉤:它在 WordPress 選擇要加載的模板之前執行。
  • get_queried_object_id()函數:讀取用戶當前頁面的 ID。
  • 頁面 ID 數組:這將告訴函數將哪些頁面限制為登錄用戶。

下面的示例使用名為private_pages的數組,設置為限制頁面 ID 2、15 和 17。您需要在此處插入您自己的頁面 ID 才能使代碼正常工作。 您還需要將“LINK_TO_LOGIN_PAGE”替換為登錄或註冊頁面的鏈接。

 ~~~ if( !function_exists('private_logged_in_users') ): add_action( 'template_redirect', 'private_logged_in_users' ); function private_logged_in_users(){ /* Reads the current page ID */ $page_id = get_queried_object_id(); /* List of IDs restricted to logged-in users */ $private_pages = [ 2,15,17, ]; if( ( !empty($private_pages) && in_array($page_id, $private_pages) ) && !is_user_logged_in() ): wp_die('To view this content, please <a href="LINK_TO_LOGIN_PAGE" target="_blank">log in or register.</a>'); return; exit; endif; } endif; ~~~

這種技術的缺點之一是您想要設為私有的帖子和頁面可能不是靜態的。 每次添加新的門控內容時,都必須更新數組中的頁面 ID。

此外,這不允許您根據會員級別、付費會員等限制訪問。只要用戶登錄,他們就會看到內容。


使用插件使 WordPress 頁面私有化

使用插件管理私人頁面和帖子有很多好處。 他們通常提供的功能不僅僅是根據用戶級別使帖子無法訪問,還允許您根據需要限制內容。

限制內容

限制內容標誌

Stellaris 的這個會員插件承諾“完全控制誰可以和不能查看您 WordPress 網站上的內容。” 免費版本允許您創建多個會員級別並限制對帖子、頁面、媒體、自定義帖子類型和 API 請求的訪問。 可以使用免費的 Stripe 插件來收取借記卡和信用卡付款。

安裝並激活插件後,您可以通過內容編輯窗口中的下拉菜單限制任何內容。

限制內容插件下拉菜單

有很多選項可用於限制對您的內容的訪問,包括將其限制為任何訪問級別的成員、任何付費級別的成員以及特定級別的成員。


匿名限制內容

匿名限制內容徽標

該插件提供了一種將內容限制為授權用戶的簡單方法。 安裝和激活後,Anonymous Restricted Content 會將“Restricted Content”添加到 WordPress 儀表板的“設置”菜單中。 從那裡,您只需填寫一些有關您希望用戶重定向到的頁面以及您希望在登錄頁面上顯示的消息的詳細信息。

匿名限制內容插件設置頁面

匿名受限內容允許您將內容限制為批量操作。 只需轉到 WordPress 網站的“帖子”或“頁面”部分,選中要限制的內容項,然後從批量操作下拉菜單中選擇“限制匿名”。


內容控制

內容控制插件徽標

此插件允許您將對頁面和帖子的訪問限制為登錄用戶、特定用戶角色和註銷用戶。 內容控制使您能夠使用短代碼限制內容的某些部分。 此外,您可以使用該插件按用戶和訪問級別控制側邊欄和頁腳小部件的可見性。

安裝和激活後,該插件會將“內容控制”添加到您的“設置”菜單中。 從那裡,單擊“添加限制”將打開限制編輯器,使您可以根據自己的需要定制受限制的內容。


結論

WordPress 提供了製作私人帖子和頁面的不同途徑。 最佳使用方法取決於您的目標。 WordPress 內部工具非常易於使用且工作完美,但它們僅限於密碼保護或僅允許管理員和編輯查看內容。

我們概述的用於創建帶有子主題的私人帖子和頁面的方法也有限制。 每次添加新的私有內容都需要手動更新functions.php文件中的頁面ID數組,並且只限制未登錄用戶查看內容,無法根據訪問級別限制內容. 有一些方法可以解決這些限制,但它們需要更高級的編碼技能。

正確的插件可以幫助您將頁面、帖子和其他內容標記為私有,但也可以根據比簡單登錄更嚴格的要求限制訪問:訪問級別、付費會員資格等。 根據您的具體目標,插件可能是將某些 WordPress 頁面設為私有並限制對您的內容的訪問的最佳和最簡單的方法。

使用 WP Engine 的託管託管讓您可以更好地控制究竟誰可以訪問您的站點。 使用 Web 規則引擎,您可以阻止對私有文件的直接訪問、限制來自特定國家或地區的訪問、重定向頁面等等。

了解有關行業領先的 WordPress 託管的更多信息,包括 WP Engine 上屢獲殊榮的 24/7/365 支持