コード例 #1
0
ファイル: CRED_Helper.php プロジェクト: rebeccayshen/kitlist
 public static function setupCustomUserCaps()
 {
     global $wp_roles;
     if (function_exists('wpcf_access_register_caps')) {
         // integrate with Types Access
         //cred_log('Access Active', 'access.log');
         add_filter('types-access-area', array(__CLASS__, 'register_access_cred_user_area'));
         add_filter('types-access-group', array(__CLASS__, 'register_access_cred_user_group'), 10, 2);
         add_filter('types-access-cap', array(__CLASS__, 'register_access_cred_user_caps'), 10, 3);
         // do any necessary changes when access imports / exports custom capabilities
         add_filter('access_import_custom_capabilities_' . '__CRED_CRED_USER', array(__CLASS__, 'import_access_cred_user_caps'), 1, 2);
         add_filter('access_export_custom_capabilities_' . '__CRED_CRED_USER', array(__CLASS__, 'export_access_cred_user_caps'), 1, 2);
     } elseif (function_exists('ure_not_edit_admin') || class_exists('Members_Load')) {
         // export custom cred caps to admin role for other plugins to manipulate them (eg User Role Editor or Members)
         if (!isset($wp_roles) && class_exists('WP_Roles')) {
             $wp_roles = new WP_Roles();
         }
         $wp_roles->use_db = true;
         if ($wp_roles->is_role('administrator')) {
             $administrator = $wp_roles->get_role('administrator');
         } else {
             $administrator = false;
             trigger_error(__('Administrator Role not found! CRED Users capabilities will not work', 'wp-cred'), E_USER_NOTICE);
             return;
         }
         if ($administrator) {
             self::addCredUserCapsToRoleUser($administrator);
         }
     } else {
         self::$caps = array_merge(self::$caps, self::buildCredUserCaps());
         add_filter('user_has_cap', array('CRED_Helper', 'defaultCredCapsFilter'), 5, 3);
     }
 }