在 WordPress 中构建基本 CRM:利用自定义功能
我们一直在研究如何在 WordPress 中创建一个简单的 CRM 系统。在本系列的最后一部分中,我们探讨了如何使用角色来限制用户对 WordPress 管理界面部分内容的访问。
今天我们将介绍如何使用自定义功能仅限制对联系人自定义帖子类型的访问。
自定义功能
虽然我们之前降低了 WordPress 用户的访问级别,但通过将他们分配给编辑或作者角色,用户仍然可以管理帖子和评论。这些功能对我们来说都没有用,因此我们需要进一步限制访问,允许指定的用户只能访问联系人自定义帖子类型。
我们可以通过以下方式做到这一点:
在我们的自定义帖子类型上注册自定义功能
注册自定义功能使我们能够稍后定义哪些 WordPress 角色可以访问这些功能,例如,作者是否可以创建新的联系人。
让我们编辑插件文件的 register_post_type()
函数调用,将 capability_type => 'post'
替换为以下内容:
'capabilities' => array( 'edit_others_posts' => 'edit_others_contacts', 'delete_others_posts' => 'delete_others_contacts', 'delete_private_posts' => 'delete_private_contacts', 'edit_private_posts' => 'edit_private_contacts', 'read_private_posts' => 'read_private_contacts', 'edit_published_posts' => 'edit_published_contacts', 'publish_posts' => 'publish_contacts', 'delete_published_posts'=> 'delete_published_contacts', 'edit_posts' => 'edit_contacts' , 'delete_posts' => 'delete_contacts', 'edit_post' => 'edit_contact', 'read_post' => 'read_contact', 'delete_post' => 'delete_contact', ), 'map_meta_cap' => true, 登录后复制