方法/步驟
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出凌源免費(fèi)做網(wǎng)站回饋大家。
訂閱者:只能修改自己的個(gè)人資料,例如昵稱(chēng)、聯(lián)系信息、密碼等等。
投稿者:具有訂閱者的所有權(quán)限??梢园l(fā)表文章,發(fā)表的文章需要經(jīng)過(guò)管理員審核后才能在博客上顯示出來(lái),但可以預(yù)覽效果。對(duì)待審中的文章可以編輯,但對(duì)已通過(guò)審核的文章不能編輯,可以查看所有站內(nèi)評(píng)論,但不能對(duì)評(píng)論進(jìn)行編輯。
作者:具有投稿者的所有權(quán)限??梢跃庉嬕淹ㄟ^(guò)審核的文章,發(fā)表文章不需要審核,可以使用媒體庫(kù)。
編輯:具有作者的所有權(quán)限??梢詫?duì)文章標(biāo)簽、分類(lèi)進(jìn)行管理,可以管理友情鏈接,可以編輯評(píng)論,可以添加或編輯頁(yè)面,還可以編輯待審中的文章,但編輯后仍然處于待審狀態(tài)。實(shí)際上,編輯只是不具備外觀、插件、用戶(hù)、設(shè)置和備份這些選項(xiàng)的操作。
5
管理員:具有admin的所有權(quán)限,包括刪除admin!不能隨便給他人這個(gè)權(quán)限,這個(gè)不用具體說(shuō)也知道啦。
添加角色可以查看位于/wp-includes/ - capabilities.php中的add_role函數(shù)
詳細(xì)的使用方式可以參考/wp-admin/includes/ - schema.php文件。
注:以下內(nèi)容在WP
3.4+上測(cè)試通過(guò)current_user_can()的正確用法current_user_can()文檔中有一句話(huà)要注意一下Do
not
pass
a
role
name
to
current_user_can(),
as
this
is
not
guaranteed
to
work
correctly.意思是說(shuō)傳遞用戶(hù)角色名稱(chēng)(如author、contributor)作為參數(shù)不能100%保證返回正確的結(jié)果,正確的用法是傳遞$capability,從這個(gè)函數(shù)的表面意思看,參數(shù)是權(quán)限比參數(shù)是角色名稱(chēng)更靠譜。所以,要根據(jù)不同角色擁有的權(quán)限來(lái)判斷用戶(hù)角色,用戶(hù)權(quán)限可以在Roles
and
Capabilities中找到。判斷用戶(hù)是否為管理員(Administrator)if(
current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
a
administrator';
}判斷用戶(hù)是否為編輯(Editor)if(
current_user_can(
'publish_pages'
)
!current_user_can(
'manage_options'
)
)
{
echo
'The
current
user
is
an
editor';
}判斷用戶(hù)是否為作者(Author)if(
current_user_can(
'publish_posts'
)
!current_user_can(
'publish_pages'
)
)
{
echo
'The
current
user
is
an
author';
}判斷用戶(hù)是否為投稿者(Contributor)if(
current_user_can(
'edit_posts'
)
!current_user_can(
'publish_posts'
)
)
{
echo
'The
current
user
is
a
contributor';
}判斷用戶(hù)是否為訂閱者(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)用戶(hù)登錄后,這個(gè)里面就會(huì)有用戶(hù)的角色和權(quán)限信息。當(dāng)WordPress的init
action執(zhí)行后,就可以安全的使用$current_user全局變量了。在模板文件中判斷登錄用戶(hù)是否為作者(Author)global
$current_user;
if(
$current_user-roles[0]
==
'author'
)
{
echo
'The
current
user
is
an
author';
}
在functions.php中判斷用戶(hù)是否為作者(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中直接寫(xiě)global
$current_user是無(wú)法獲取用戶(hù)信息的。詳細(xì)信息可以參考《WordPress
Actions加載順序》。檢查用戶(hù)角色之前,還可以先檢查一下用戶(hù)是否登錄
Role Manager WordPress Plugin
這應(yīng)該是目前最強(qiáng)大的一款WordPress角色管理插件
Role Manager的功能有:
修改已有用戶(hù)等級(jí)的名稱(chēng)。如把“管理員”改為“超級(jí)管理員”,把“作者”改成“會(huì)員”等等。
可以新建等級(jí)。wordpress默認(rèn)的注冊(cè)用戶(hù)等級(jí)只有五級(jí):管理員,編輯,作者,貢獻(xiàn)者和訂閱者。通過(guò)Role Manager這個(gè)插件,你可以無(wú)限制地創(chuàng)建不同的等級(jí)
控制不同等級(jí)用戶(hù)的權(quán)限,甚至是同一個(gè)等級(jí)的用戶(hù)也可以擁有不同的權(quán)限。
Custom Capabilities,似乎意思是自定義性能,可是沒(méi)搞懂什么意思,更不知道有何作用。
Role Manager把用戶(hù)的權(quán)限分成20個(gè)方面,包括:
激活插件,編輯文件,編輯他人的文章,編輯頁(yè)面,編輯插件,編輯自己的文章,編輯已發(fā)表的文章,修改模版,編輯用戶(hù)資料,導(dǎo)入文章,管理分類(lèi),管理郵件,管理鏈接,管理選項(xiàng),審核評(píng)論,發(fā)表文章,讀,修改模版,Unfiltered Html,上傳文件。
你可以通過(guò)分配不同的功能來(lái)限制用戶(hù)的權(quán)限。