如何根據用戶的role or capability限制對特定Wordpress頁面的訪問?我知道有各種插件可以實現這一點,我發現一些非常老化的解決方案,同時谷歌搜索。根據角色或能力限制對Wordpress頁面的訪問
我相信現在是時候有一個最新的解決方案。
如何根據用戶的role or capability限制對特定Wordpress頁面的訪問?我知道有各種插件可以實現這一點,我發現一些非常老化的解決方案,同時谷歌搜索。根據角色或能力限制對Wordpress頁面的訪問
我相信現在是時候有一個最新的解決方案。
正如我試圖在評論下面我的回答a recent question of yours解釋,並作爲the bottom of your linked docs在開發資源節中引用,current_user_can
是(據我所知)是最靈活和全面的方式來測試用戶給出替代(2.0)和棄用(3.0)User Levels的能力。
無論您是允許還是限制查看頁面或進行特定更改的訪問權限,將Wordpress定義的與角色關聯的功能綁定在一起是很有意義的。當您使用任何種類的角色範圍,功能編輯或超級管理插件或函數時,這變得尤其如此。它也不受個人或多站點安裝中的應用程序的阻礙,涵蓋了所有可能的用戶。
當您測試當前用戶是否可以完成此操作時,這些功能的可能性要小於與某些角色或用戶級別關聯的功能。
一切你需要了解current_user_can
是相當不錯的解釋in the docs,並且一般遵循這樣的邏輯:
if (current_user_can('do_something_pertaining_to_the_below')) {
echo 'You are a user who can do the above thing, so do the below thing';
/* the thing */
}
相反:
if (!current_user_can('some_fancy_capability')) {
echo 'No can do';
return;
}
else { /* the similarly fancy, restricted thing */ }
所有這一切說,如果有人聽說過的更進步和更聰明的方式做到這一點,我耳熟能詳!
感謝您對此非常詳細的回覆!我意識到這個解決方案,目前我正在使用if語句來判斷用戶是否登錄等。我使用了一個自定義文件,page-slug.php - 我之所以問這個問題的原因是,如果有更好的這樣做的方式。儘管如此,我已經把你的答案提高了,因爲它是正確的,我會接受它作爲正確的明天。我會保持開放,爲其他人分享他們的解決方案提供機會。 –
好吧然後crowjonah,再次感謝你的迴應。接受答案。 –