2012-09-21 54 views

回答

4

正如我試圖在評論下面我的回答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 */ } 

所有這一切說,如果有人聽說過的更進步和更聰明的方式做到這一點,我耳熟能詳!

+0

感謝您對此非常詳細的回覆!我意識到這個解決方案,目前我正在使用if語句來判斷用戶是否登錄等。我使用了一個自定義文件,page-slug.php - 我之所以問這個問題的原因是,如果有更好的這樣做的方式。儘管如此,我已經把你的答案提高了,因爲它是正確的,我會接受它作爲正確的明天。我會保持開放,爲其他人分享他們的解決方案提供機會。 –

+0

好吧然後crowjonah,再次感謝你的迴應。接受答案。 –

相關問題