久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

怎么添加自定義角色和權限? – wordpress開發

有關 WordPress 角色和權限的知識,WordPress 強大的用戶角色和權限管理系統可以讓我們隨時創建復雜的項目

wordpress自帶的角色只有幾個,在復雜的需求下很難滿足,那就自己創建自定義的角色和權限吧。

需要注意的是,在WordPress中是不能直接在后臺添加新的用戶組,而是需要通過WordPress的角色和權限API來添加用戶角色。

怎么添加自定義角色和權限? - wordpress開發

請備份數據庫,謹慎操作

方案一

以修改“訂閱者”為“忠實會員”為例,復制下面的代碼到 wordpress 主題根目錄下的 function.php 文件<?php下面。

function wps_change_role_name() {
    global $wp_roles;
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles();
    $wp_roles->roles['subscriber']['name'] = '忠實會員';
    $wp_roles->role_names['subscriber'] = '忠實會員';
}
add_action('init', 'wps_change_role_name');

對照修改第 5、6 行中你想要編輯的角色英文名稱(小寫字母)所對應的中文名稱,保存即可。

方案二

新建?自定義角色,例如:VIP用戶,將以下代碼添加至主題根目錄下的functions.php文件的<?php下保存。

// 新建VIP用戶角色

add_action( 'admin_init', 'remove_shop_caps');
function remove_shop_caps() {
    // 首先獲取訂閱者角色。
    $subscriber = get_role('subscriber');
    // 然后基于訂閱者角色的權限新建一個角色。
    $vip = add_role('vip','VIP用戶',$subscriber->capabilities);
}
//刪除“VIP用戶”角色
function wps_remove_role() {
    remove_role( 'vip' );
}
add_action( 'init', 'wps_remove_role' );

以上兩段代碼使用后即可刪除,無需留在 functions.php 文件中。

方案三

新建?自定義角色,例如:新角色,添加新角色,并為其賦予分類管理、多媒體文件上傳、文章編輯等基本權限。

/*
$role_name:相當于角色的ID;
$display_name:角色的顯示名稱,支持本地化字符;
$capabilities:該角色應具有的能力組成的數組(能力ID/名稱為ID,值為值組成的數組)
*/
add_role( $role_name, $display_name, $capabilities );
add_role( 'pama', '銀牌會員', array('read'=>true,'level_0'=>true) );

將以下代碼添加至主題根目錄下的functions.php文件的<?php下保存。

function tp_add_role() {
    add_role( 'newbie', '新角色',
             array(
                  'read',
                  'edit_posts',
                  'delete_posts',
                  'manage_categories',
                  'upload_files',
                  )
    );
}
add_action( 'init', 'tp_add_role' );
//刪除“新角色”角色
function wps_remove_role() {
    remove_role( 'newbie' );
}
add_action( 'init', 'wps_remove_role' );

以上兩段代碼使用后即可刪除,無需留在 functions.php 文件中。

賦予權限

//獲取 "author" 的角色對象
$role = get_role( 'author' );

//為角色對象添加 "organize_gallery" 權限
$role->add_cap( 'organize_gallery' );

刪除權限

此函數為自行構造,僅供測試

//獲取 "author" 的角色對象
$user = get_role( 'author' );

// 為給定用戶移除一種能力/權限
$user->remove_cap( $cap_name );
// 為給定用戶移除全部能力
$user->remove_all_caps();

刪除角色

刪除訂閱者、投稿者、作者、編輯等不需要的默認角色。

function wps_remove_role() {
    remove_role( 'contributor' );
    remove_role( 'subscriber' );
    remove_role( 'author' );
    remove_role( 'editor' );
}
add_action( 'init', 'wps_remove_role' );

代碼中 2 至 5 行為想要刪除的默認角色,依次為訂閱者、投稿者、作者、編輯,可根據需要刪減之。

使用后即可刪除,無需留在 functions.php 文件中。

WordPress的權限類

介紹WordPress 用于角色和權限幕后工作的三個類,以及這些類提供的接口,我們可以在插件中進行高級權限管理。這三個類是:

  • WP_Roles
  • WP_Role
  • WP_User

這三個類的源代碼可以在?wp-includes/capabilities.php?中找到,源代碼注釋寫得很詳細,下面總結一下怎樣使用這些類:

WP_Roles 類

WP_Roles 是一般的角色管理類,當我們在插件中使用的時候,可以不用實例化一個新的對象,而是直接使用 WordPress 默認創建的一個全局對象?$wp_roles,可以在任何地方使用它,只要事先聲明global?即可:

global $wp_roles;

我們上面使用的函數?add_role()?和?remove_role()?實際上是?$wp_roles->add_role()?和?$wp_roles->remove_role()?的別名。因此,我們也可以直接使用?$wp_roles?對象添加和刪除角色,例如:

global $wp_roles;
//添加新角色,和add_role()功能一樣
$wp_roles->add_role( $role, $display_name, $capabilities )

//刪除角色, 和remove_role()功能一樣
$wp_roles->;remove_role( $role );

同樣也可以使用這種方法得到一個角色:

global $wp_roles;

//通過角色名稱得到一個角色,和get_role()功能一樣
$wp_roles->get_role( $role );

還可以得到一個可用角色列表,含有角色的名稱和角色的顯示名稱。這個對想為用戶提供一個接口,改變權限分配時候非常有用的。

global $wp_roles;

//得到一個值列表包括 $role_name => $display_name
$roles = $wp_roles->get_names();

最后可以使用?$wp_roles?添加和刪除權限,此對象幾乎包括所有的角色和權限操作。

global $wp_roles;

//為角色$role添加權限$cap
$wp_roles->add_cap( $role, $cap );

//為角色$role刪除權限$cap
$wp_roles->remove_cap( $role, $cap );

//例子
$wp_roles->add_cap( 'administrator', 'manage_galleries' );
$wp_roles->remove_cap( 'subscriber', 'view_galleries' );

WP_Role 類

這是一個非常簡單的類,它的功能就是添加和刪除權限。

//得到角色對象
$role_object = get_role( $role_name );

//為角色對象添加權限$cap
$role_object->add_cap( $capability_name );

//為角色對象刪除權限$cap
$role_object->remove_cap( $capability_name );

WP_User類

這個類可以管理每個用戶的角色和權限,這意味著可以為一個特定具體的用戶分配多個角色,或者為當前用戶添加特定的權限,不論他目前是什么角色。

首先需要獲取用戶對象來操縱它的角色和權限:

//通過用戶ID得到用戶對象
$user = new WP_User( $id );

//或者通過用戶名
$user = new WP_User( null, $name );

我們可以通過用戶ID或用戶名得到一個用戶對象。對于第二種方法,第一個參數必須是空的(null或空字符串),如:

//通過ID得到管理員對象
$admin = new WP_User( 1 );

//通過用戶名得到管理員對象
$admin = new WP_User( null, 'admin' );

一旦得到了用戶對象,就可以為這個用戶的添加另一個角色,而無需修改他目前的角色,這意味著用戶可以有多個角色:

$user->add_role( $role_name );

也可以使用?remove_role(),來為該用戶刪除某個角色:

$user->remove_role( $role_name );

還可以為該用戶設置一個角色,這意味著該用戶將被刪除當前所有的角色,并分配一個新的角色:

$user->set_role( $role_name );

對于權限操作,也有很多的方法來做各種事情:

//檢查該用戶是否具有某種權限或角色名稱
if ( $user->has_cap( $cap_name ) ) {
    //做一些事
}

//為用戶添加權限
$user->add_cap( $cap_name );

//為用戶刪除權限
$user->remove_cap( $cap_name );

//刪除用戶所有權限
$user->remove_all_caps();

角色和權限總結

以上就是所有有關 WordPress 角色和權限的知識,WordPress 強大的用戶角色和權限管理系統可以讓我們隨時創建復雜的項目。

權限表一覽

怎么添加自定義角色和權限? – wordpress開發

不同的用戶與權限

怎么添加自定義角色和權限? – wordpress開發

??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      国产高潮呻吟久久| 亚洲日本久久久| 天天舔天天操天天干| 亚洲 日本 欧美 中文幕| 一区二区三区四区影院| 亚洲理论中文字幕| a级大片在线观看| 国产av一区二区三区| 国产又大又黄视频| 欧美精品一级片| 婷婷激情综合五月天| 亚洲精品无遮挡| 成人三级视频在线观看| 好吊视频一区二区三区| 日本美女视频网站| 中文字幕1区2区| mm131丰满少妇人体欣赏图| 国产女18毛片多18精品| 欧美成人久久久免费播放| 天天操天天操天天操| 亚洲区一区二区三| 国产偷人爽久久久久久老妇app| 老熟妇一区二区三区啪啪| 午夜视频在线观看国产| 91香蕉视频污在线观看| 精品乱码一区内射人妻无码| 日韩在线 中文字幕| 亚洲欧美综合在线观看| 国产九九在线观看| 日韩精品久久久久久久酒店 | 最新中文字幕一区| www天堂在线| 蜜臀av一区二区三区有限公司| 日韩精品一区二区三| 亚洲一区视频在线播放| 国产在线拍揄自揄拍| 色婷婷成人在线| theporn国产精品| 免费观看一级视频| 亚洲欧美日韩动漫| 精品免费久久久| 五月天中文字幕| 国产成人一区二区在线观看| 欧美天堂在线视频| 亚洲天堂中文字幕在线| 久久精品国产99久久99久久久| 五月婷婷中文字幕| 国产精品一区二区人人爽| 日韩网站在线播放| aaaaa一级片| 日本欧美一区二区三区不卡视频| 一本一道久久a久久综合蜜桃 | 2014亚洲天堂| 蜜臀久久99精品久久久久久| 中文字幕在线观看国产| 极品久久久久久久| 在线观看中文字幕视频| 精品无码久久久久久久久| 五月婷婷激情网| 国产视频一区二区三| 午夜69成人做爰视频| 国产一二三区精品| 亚洲精品国产精| 蜜桃视频久久一区免费观看入口| 亚洲最大成人综合网| 人妻久久一区二区| 国产成人在线网址| 亚州精品国产精品乱码不99按摩| 国产一级中文字幕| 中文字幕一区二区三区乱码不卡| 九九精品久久久| 亚洲综合免费视频| 色婷婷一区二区三区在线观看| 国产极品一区二区| 中文字幕乱码在线观看| 久久久久久久久久久影院| 91禁在线观看| 无码人中文字幕| 久久久久人妻一区精品色欧美| 亚洲一区精品在线观看| 日韩在线不卡一区| 狠狠综合久久av一区二区| 亚洲午夜无码久久久久| 日韩乱码一区二区| 国产又黄又粗又硬| 一级久久久久久久| 天天综合在线视频| 免费国产精品视频| 国产精品suv一区二区88| 中文字幕第一页在线播放| 欧美性生交xxxxx| 国产一精品一aⅴ一免费| 亚洲综合五月天婷婷丁香| 天天射,天天干| 免费一级黄色大片| 国产美女网站视频| 91亚洲欧美激情| 亚洲爱爱综合网| 日本在线一级片| 久久久久久久久久久久久久免费看 | 亚洲国产综合久久| 日韩精品国产一区| 久草免费资源站| 国产夫妻性生活视频| 亚洲中文一区二区| 在线观看国产一级片| 日本在线观看视频一区| 久久人人爽av| 极品颜值美女露脸啪啪| 国产高清成人久久| mm131国产精品| 亚洲无码久久久久久久| 在线免费观看一级片| 手机看片久久久| 人妻少妇精品无码专区久久| 久久久久99精品| 国语对白永久免费| 国产乱国产乱老熟300部视频| av免费观看在线| 91l九色lporny| 亚洲天堂免费av| 亚洲色大成网站www| 中文字幕91爱爱| 中文字幕+乱码+中文| 一区二区www| 亚洲 欧美 成人| 午夜在线观看一区| 天天色综合久久| 无码人妻精品一区二区三区温州 | 亚欧洲精品在线视频| 手机看片福利日韩| 色综合久久五月| 日韩欧美性视频| 日韩伦人妻无码| 天堂成人在线视频| 四虎免费在线观看| 天天综合天天做| 亚洲不卡的av| 中文字幕 欧美日韩| 中文字幕乱码视频| 亚洲另类第一页| 91在线视频在线观看| jizz日本在线播放| 国产草草影院ccyycom| 国产精品久久久久久久久夜色| 国产精品久久久久久久久毛片| 国产高潮失禁喷水爽到抽搐| 国产精品主播一区二区| 国产又粗又黄视频| 久久精品国产亚洲av高清色欲 | 国产伦精品一区二区三区视频痴汉| 国产精品成人免费观看| 国产伦精品一区二区三区视频我 | 国内免费精品视频| 久久免费看少妇高潮v片特黄| 久久亚洲精品石原莉奈| 日本女人性生活视频| 无码人妻丰满熟妇精品区| 这里只有精品免费视频| 2021亚洲天堂| 国产精品老女人| 久草视频手机在线观看| 男人天堂视频在线| 天天操狠狠操夜夜操| 中文字幕免费视频观看| av资源免费看| 国产一区二区三区三州| 免费看黄色一级大片| 天天躁日日躁狠狠躁伊人| 亚洲精品国产精品乱码| www色com| 久久久国产精品黄毛片| 日韩一区免费视频| 中文字幕在线观看国产| 福利网址在线观看| 久艹视频在线观看| 色婷婷激情五月| 一级黄色录像毛片| 国产一级久久久| 日日噜噜噜噜久久久精品毛片| 又色又爽又黄18网站| av黄色免费网站| 精品无码黑人又粗又大又长| 日本少妇久久久| 亚洲精品午夜久久久久久久| 国产精品免费精品一区| 欧美xxxx精品| 中文字幕人妻一区二区| 国产精品探花视频| 青青操视频在线播放| 亚洲欧美综合一区二区| 国产主播中文字幕| 日批视频在线播放| 99国产精品欲| 欧美成人aaa片一区国产精品| 一区二区精品视频在线观看| 成人免费视频毛片| 欧美一区二区三区激情| 亚洲欧洲国产综合| 精品一区二区无码|