1

我正在使用 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 语句下添加四个新部分。

4

0 回答 0