我正在使用Wordpress处理临时/兼职的系统。为此,我正在制作一个新的自定义帖子类型EMPLOYEE,我需要2个相应的用户AGENT和CUSTOMER:
我如何执行此安排?关于用户和功能的在线文档让我拉扯我的头发并绕圈跑。到目前为止这是我的自定义帖子类型注册,我目前正在设置此帖子类型的其他信息的元框:
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和论坛上非常受欢迎),但我希望我的要求很简单,不再使用插件了。包裹我的头也有点太多了。
帮助。提前谢谢。
答案 0 :(得分:4)
这真的不应该非常困难。
第一步是通过传递给register_post_type()
的'capability_type'
参数创建自定义功能类型以对应您的自定义帖子类型。您使用的是默认值,即:
'capability_type' => 'post',
将其设置为其他内容,可能是'employee'
,并根据Codex,将'map_meta_cap'
设置为true
:
'capability_type' => 'employee',
'map_meta_cap' => true,
下一步是通过传递给add_role()
的$capabilities
参数向自定义用户添加相关功能。对于“员工”用户角色,您需要添加edit_employee
等(edit_,delete_等),对于“代理”用户角色,您需要添加edit_employee
等人,以及edit_others_employee
等人