Php Wordpress:如何设置自定义帖子类型的用户角色

Php Wordpress:如何设置自定义帖子类型的用户角色,php,wordpress,plugins,user-roles,Php,Wordpress,Plugins,User Roles,我正在使用WordPress为公司开发一个系统。为此,我正在创建一个新的自定义职位类型EMPLOYEE,我需要两个相应的用户AGENT和CUSTOMER: 代理用户可以创建和编辑自己的员工,但不能编辑其他代理的员工 所有代理、客户和公众都可以查看员工的帖子并发表评论, 这也意味着客户用户只能查看所有员工帖子。 需要将客户用户与普通公众区分开来,因为一旦他们雇佣了员工,系统就需要将他们与员工相关联,从而使客户成为登录用户 最后,AGENT和CUSTOMER用户都可以创建/编辑自己的香草WordP

我正在使用WordPress为公司开发一个系统。为此,我正在创建一个新的自定义职位类型
EMPLOYEE
,我需要两个相应的用户
AGENT
CUSTOMER

代理
用户可以创建和编辑自己的
员工
,但不能编辑其他
代理的员工

所有
代理、客户和公众都可以查看员工的
帖子并发表评论,
这也意味着
客户
用户只能查看所有
员工
帖子。 需要将
客户
用户与普通公众区分开来,因为一旦他们雇佣了
员工
,系统就需要将他们与
员工
相关联,从而使
客户
成为登录用户

最后,
AGENT
CUSTOMER
用户都可以创建/编辑自己的香草WordPress用户配置文件,并使用用户名/密码组合登录

我如何执行这项安排?关于用户和功能的在线文档让我毛骨悚然,四处奔波。到目前为止,这是我的自定义帖子类型注册,我目前正在为该帖子类型的其他信息设置元框:

/*** Register Custom Post Type " Company " ***/
function out_clients() {
$labels = array(
    'name'                => _x( 'AGENT', 'Post Type General Name' ),
    'singular_name'       => _x( 'AGENT', 'Post Type Singular Name' ),
    'menu_name'           => __( 'AGENT'  ),
    'parent_item_colon'   => __( 'AGENT' ),
    'all_items'           => __( 'ALL AGENT' ),
    'view_item'           => __( 'VIEW'  ),
    'add_new_item'        => __( 'ADD'  ),
    'add_new'             => __( 'ADD'  ),
    'edit_item'           => __( 'EDIT'  ),
    'update_item'         => __( 'EDIT'  ),
    'search_items'        => __( 'SEARCH'  ),
    'not_found'           => __( 'NOT FOUND'  ),
    'not_found_in_trash'  => __( 'NO IN TRASH'  ),
);
$args = array(
    'labels'              => $labels,
    'supports'            => array(  'title' ),
    'taxonomies'          => array(),
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 5,
    'menu_icon' => get_stylesheet_directory_uri() . '/images/cli_icon.png',
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'capability_type'     => 'page',
);
register_post_type( 'out_clients', $args );
}
/*** Hook into the 'init' action **/
add_action( 'init', 'out_clients', 0 );
我的角色是:-

$result = add_role(
    'visitor',
    __( 'visitor' ),
    array(
        'read'         => true,  // true allows this capability
        'edit_posts'   => true,
        'delete_posts' => false, // Use false to explicitly deny
    )
);

救命啊。提前感谢。

经过多次尝试,我决定使用基于角色的插件。这使我可以添加新角色,并将某些页面限制为一个角色或组-这可能是一个更好的选择。好的,但是你为访问者添加了什么用户角色???@ScottMcGready是的,最好的方法是使用。试试这个。是的,但它不适用于costment post typeok,但是当我登录到我的站点时,我无法打开这个
页面wp admin/profile.php