gpt4 book ai didi

wordpress - 如何为 WordPress 自定义帖子类型设置简单的用户角色

转载 作者:行者123 更新时间:2023-12-02 23:01:01 26 4
gpt4 key购买 nike

我正在使用 Wordpress 为临时工/兼职人员开发一个系统。为此,我正在创建一个新的自定义帖子类型 EMPLOYEE,并且我需要 2 个相应的用户 AGENT 和 CUSTOMER:

  • 代理用户可以创建编辑自己的员工,但不能编辑其他代理的员工。
  • 所有代理、客户和公众都可以查看评论员工帖子,
  • 这也意味着 CUSTOMER 用户只能查看所有 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插件(在谷歌和论坛上非常流行),但我希望我的要求足够简单,不再使用插件。这也有点让我难以理解。

帮助。提前致谢。

最佳答案

这确实不应该非常困难。

第一步是通过传递给 register_post_type()'capability_type' 参数创建一个自定义功能类型来对应您的自定义帖子类型。 。您使用的是默认值,即:

'capability_type' => 'post',

将其设置为其他内容,例如'employee',并根据 Codex,还将 'map_meta_cap' 设置为 true:

'capability_type' => 'employee',
'map_meta_cap' => true,

下一步是通过传递给 add_role() 的调用的 $capability 参数向您的自定义用户添加相关功能。 。对于“employee”用户角色,您需要添加 edit_employee 等(edit_、delete_ 等),对于“agent”用户角色,您需要包括 edit_employee 等人,以及 edit_others_employee 等人。

关于wordpress - 如何为 WordPress 自定义帖子类型设置简单的用户角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com