Role Manager WordPress Plugin
創(chuàng)新互聯(lián)公司主營(yíng)獨(dú)山子網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開(kāi)發(fā),獨(dú)山子h5微信平臺(tái)小程序開(kāi)發(fā)搭建,獨(dú)山子網(wǎng)站營(yíng)銷推廣歡迎獨(dú)山子等地區(qū)企業(yè)咨詢
這應(yīng)該是目前最強(qiáng)大的一款WordPress角色管理插件
Role Manager的功能有:
修改已有用戶等級(jí)的名稱。如把“管理員”改為“超級(jí)管理員”,把“作者”改成“會(huì)員”等等。
可以新建等級(jí)。wordpress默認(rèn)的注冊(cè)用戶等級(jí)只有五級(jí):管理員,編輯,作者,貢獻(xiàn)者和訂閱者。通過(guò)Role Manager這個(gè)插件,你可以無(wú)限制地創(chuàng)建不同的等級(jí)
控制不同等級(jí)用戶的權(quán)限,甚至是同一個(gè)等級(jí)的用戶也可以擁有不同的權(quán)限。
Custom Capabilities,似乎意思是自定義性能,可是沒(méi)搞懂什么意思,更不知道有何作用。
Role Manager把用戶的權(quán)限分成20個(gè)方面,包括:
激活插件,編輯文件,編輯他人的文章,編輯頁(yè)面,編輯插件,編輯自己的文章,編輯已發(fā)表的文章,修改模版,編輯用戶資料,導(dǎo)入文章,管理分類,管理郵件,管理鏈接,管理選項(xiàng),審核評(píng)論,發(fā)表文章,讀,修改模版,Unfiltered Html,上傳文件。
你可以通過(guò)分配不同的功能來(lái)限制用戶的權(quán)限。
注:以下內(nèi)容在WP
3.4+上測(cè)試通過(guò)current_user_can()的正確用法current_user_can()文檔中有一句話要注意一下Do
not
pass
a
role
name
to
current_user_can(),
as
this
is
not
guaranteed
to
work
correctly.意思是說(shuō)傳遞用戶角色名稱(如author、contributor)作為參數(shù)不能100%保證返回正確的結(jié)果,正確的用法是傳遞$capability,從這個(gè)函數(shù)的表面意思看,參數(shù)是權(quán)限比參數(shù)是角色名稱更靠譜。所以,要根據(jù)不同角色擁有的權(quán)限來(lái)判斷用戶角色,用戶權(quán)限可以在Roles
and
Capabilities中找到。判斷用戶是否為管理員(Administrator)if(
current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
a
administrator';
}判斷用戶是否為編輯(Editor)if(
current_user_can(
'publish_pages'
)
!current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
an
editor';
}判斷用戶是否為作者(Author)if(
current_user_can(
'publish_posts'
)
!current_user_can(
'publish_pages'
)
)
{
echo
'The
current
user
is
an
author';
}判斷用戶是否為投稿者(Contributor)if(
current_user_can(
'edit_posts'
)
!current_user_can(
'publish_posts'
)
)
{
echo
'The
current
user
is
a
contributor';
}判斷用戶是否為訂閱者(Subscriber)if(
current_user_can(
'read'
)
!current_user_can(
'edit_posts'
)
)
{
echo
'The
current
user
is
a
subscriber';
}用$current_user判斷$current_user是WordPress的一個(gè)全局變量,當(dāng)用戶登錄后,這個(gè)里面就會(huì)有用戶的角色和權(quán)限信息。當(dāng)WordPress的init
action執(zhí)行后,就可以安全的使用$current_user全局變量了。在模板文件中判斷登錄用戶是否為作者(Author)global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
在functions.php中判斷用戶是否為作者(Author)add_action(
'init',
'check_user_role'
);
function
check_user_role()
{
global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
}
之所以要使用add_action(
'init',
'check_user_role'
);是因?yàn)?current_user這個(gè)全部變量到init
action執(zhí)行時(shí)才完成賦值,既然要讀它的內(nèi)容,至少要等到它的內(nèi)容準(zhǔn)備好后再讀取。functions.php的代碼先與init
action執(zhí)行,所以在functions.php中直接寫global
$current_user是無(wú)法獲取用戶信息的。詳細(xì)信息可以參考《WordPress
Actions加載順序》。檢查用戶角色之前,還可以先檢查一下用戶是否登錄
①訂閱者:只有閱讀權(quán)限,可以修改自己的個(gè)人資料,例如昵稱、聯(lián)系信息、密碼等。
②投稿者:具有訂閱者的所有權(quán)限??梢园l(fā)表文章,但需要經(jīng)過(guò)管理員審核后才能在博客上顯示出來(lái);對(duì)待審中的文章可以編輯,但對(duì)已通過(guò)審核的文章不能編輯。
③作者:具有投稿者的所有權(quán)限。發(fā)布文章不需要審核,并且可以編輯已通過(guò)審核的文章,還可以上傳文件和使用媒體庫(kù)。
④編輯:具有作者的所有權(quán)限??梢詫?duì)文章標(biāo)簽、分類進(jìn)行管理,可以添加或編輯頁(yè)面,可以管理友情鏈接、可以上傳文件等等。編輯擁有除系統(tǒng)功能設(shè)置外的所有權(quán)限。
⑤管理員:可以控制用戶寫文章、創(chuàng)建頁(yè)面、管理插件、管理主題,以及管理其他用戶的權(quán)限。管理員可以通過(guò)后天分配用戶權(quán)限。另外,管理員還可以刪除管理員!所以這個(gè)權(quán)限的角色務(wù)必要保護(hù)好?。?!
超級(jí)管理員: 這個(gè)只有開(kāi)啟了多站點(diǎn)模式才會(huì)產(chǎn)生,主要富有所有wordpress站群的權(quán)限,如新增網(wǎng)站,管理網(wǎng)網(wǎng)站等等
希望可以幫到你,有幫助請(qǐng)采納,謝謝。