我正在使用 Wordpress 和一个名为WPL的插件。基本上,系统的设置是为了让我的 WP 用户在注册时自动激活为 WPL 用户。但是,我需要根据用户角色进行区分。所以,我有四个不同的 WP 角色,以及四个对应的 WPL 角色。我想我找到了 WPL 提取代码信息的代码。
public static function get_wpl_roles()
{
$roles = array();
$roles['superadmin'] = 'superadmin';
$roles['admin'] = 'administrator';
$roles['editor'] = 'editor';
$roles['agent'] = 'author';
$roles['Contributor'] = 'Contributor';
$roles['subscriber'] = 'subscriber';
$roles['guest'] = 'guest';
$roles['ten'] = 'ten';
$roles['trio'] = 'trio';
$roles['single'] = 'single';
$roles['unlimited'] = 'unlimited';
return $roles;
}
/**
@input {role}
@return role point
@author Howard
**/
public static function get_role_point($role)
{
/** get all roles **/
$roles = self::get_wpl_roles();
/** role validation **/
if(!in_array($role, $roles)) $role = 'guest';
$roles_point = array();
$roles_point['superadmin'] = 6;
$roles_point['administrator'] = 5;
$roles_point['editor'] = 4;
$roles_point['author'] = 3;
$roles_point['Contributor'] = 2;
$roles_point['subscriber'] = 1;
$roles_point['guest'] = 0;
return $roles_point[$role];
}
顶部的最后四个角色(十个、三重奏、单一和无限)是我的 WP 角色。当有人在其中一个角色下注册时,我希望他们自动安装在 WPL 中相同的角色标题(已经创建)下。
现在,所有的 WP 用户都被自动设置为默认角色下的 WPL 用户。我猜是因为这条线:
if(!in_array($role, $roles)) $role = 'guest';
但我似乎无法找到“客人”的定义。默认 WPL 角色只是称为“默认”,而不是访客。所以,我在那里很困惑。
代码的第二部分涉及数字 - 所以我不确定如何添加我的其他四个角色。我假设我需要在不同的 if 语句下添加四个新部分。