Как настроить простые роли пользователей для пользовательского типа сообщений Wordpress

Я работаю над системой для временных / неполных рабочих дней, используя Wordpress. . Чтобы сделать это, я создаю новый пользовательский тип сообщения EMPLOYEE, и мне нужны 2 соответствующих пользователя AGENT и CUSTOMER для него:

  • Пользователь AGENT может создаватьи редактироватьсвои собственные СОТРУДНИК(и), но не редактировать СОТРУДНИКОВ другого АГЕНТА(ов).
  • Сообщение СОТРУДНИКА может быть просмотренои прокомментировановсеми АГЕНТАМИ, ЗАКАЗЧИКАМИ и широкой публикой,
  • что также означает, что пользователь ЗАКАЗЧИК может только просматривать все сообщения EMPLOYEE.
  • Пользователя ЗАКАЗЧИКА необходимо отличать от широкой публики, потому что, как только он нанимает СОТРУДНИКА, система должна ассоциировать его с СОТРУДНИКОМ, поэтому КЛИЕНТ должен быть зарегистрированным пользователем.
  • Наконец, и АГЕНТ, и КЛИЕНТ могут создавать/редактироватьсвои собственные пользовательские профили Wordpress и входить в систему, используя свою комбинацию имени пользователя и пароля.

Как выполнить это соглашение? Онлайн-документация по пользователям и возможностям заставила меня дергать себя за волосы и бегать по кругу. Пока что вот моя регистрация пользовательского типа сообщений, и в настоящее время я настраиваю мета-поля для другой информации для этого типа сообщений:

register_post_type( 'employee',
    array(
        'labels' => array(
            'name' => __('Employees','tdom'),
            'singular_name' => __('Employee','tdom'),
            'add_new' => __( 'Add New' ),
            'add_new_item' => __( 'Add New Employee' ),
            'edit' => __( 'Edit' ),
            'edit_item' => __( 'Edit Employee' ),
            'new_item' => __( 'New Employee' ),
            'view' => __( 'View Employee' ),
            'view_item' => __( 'View Employee' ),
            'search_items' => __( 'Search Employees' ),
            'not_found' => __( 'No Employees found' ),
            'not_found_in_trash' => __( 'No Employees found in Trash' ),
            'parent' => __( 'Parent Employee' )
        ),
        'public' => true,
        'show_ui' => true,
        'query_var' => true,
        'menu_icon' => get_stylesheet_directory_uri() . '/images/emp_icon.png',
        'menu_position' => 4,
        'capability_type' => 'post',
        'hierarchical' => false,
        'rewrite' => true,
        'supports' => array('title', 'thumbnail', 'author')
    )
);

Я наткнулся на плагин Justin Tadlock Members(очень популярный в Google). и форумы), но я надеялся, что мои требования достаточно просты, чтобы больше не использовать плагин. Это также слишком много, чтобы обернуть мою голову.

Помогите. Заранее спасибо.

7
задан Ana Ban 18 April 2012 в 09:12
поделиться