1

私は Wordpress とWPLというプラグインを使用しています。基本的に、WP ユーザーがサインアップすると、WPL ユーザーとして自動的にアクティブ化されるようにシステムが設定されています。ただし、ユーザーの役割に基づいてこれを区別する必要があります。したがって、私は 4 つの異なる WP の役割と、対応する 4 つの 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];
}

一番上のセクションの最後の 4 つのロール (10、トリオ、シングル、および無制限) は、私の WP ロールです。誰かがこれらの役割のいずれかでサインアップすると、WPL で同じ役割の見出し (既に作成されている) の下に自動的に登録されるようにしたいと考えています。

現在、すべての WP ユーザーは、デフォルト ロールの下に WPL ユーザーとして自動的に登録されています。私が推測しているのは、次の行によるものです。

    if(!in_array($role, $roles)) $role = 'guest';

しかし、「ゲスト」が定義されている場所が見つからないようです。デフォルトの WPL ロールは、ゲストではなく「デフォルト」と呼ばれます。だから、私はそこで混乱しています。

コードの 2 番目の部分には数字が含まれているため、他の 4 つのロールを追加する方法がわかりません。そして、別の if ステートメントの下に 4 つの新しいセクションが必要だとします。

4

0 に答える 0