如何将多个作者关联到自定义帖子类型

时间:2013-07-02 作者:pixeline

我有一个“产品”帖子类型,我想根据他们的(自定义)角色(“设计师”、“制作人”)将几个用户关联到该类型。他们将能够创建(但不发布)、编辑和提交每个产品以供删除。真的,或多或少像默认的“贡献者”角色。

我不知道从何处开始使自定义帖子类型和用户之间的这种关联成为可能?

1 个回复
SO网友:Brooke.

你有几个选择。为您的帖子类型授予自定义权限或在现有权限内工作(如帖子)

在我看来,最好的办法是custom capability type 注册帖子类型时。在你的情况下,一个好的选择可能是“产品”

然后,您可以分配所需的功能。

// get the "author" role object
$role = get_role( \'designer\' );

// add "edit_products" to this role object
$role->add_cap( \'edit_products\' );
现在,如果您不想在自定义插件或函数中手动分配所有功能。php文件可以使用Members Plugin 这是一个很棒的GUI。

如前所述,您还可以使用核心“edit\\u posts”,而不是分配新的能力类型,这取决于您对角色的限制程度。例如,如果允许他们编辑帖子和产品或仅编辑产品。

以下是《能力法典》中的图表:

    [edit_post]              =>  "edit_{$capability_type}"
    [read_post]              => "read_{$capability_type}"
    [delete_post]            => "delete_{$capability_type}"
    [edit_posts]             => "edit_{$capability_type}s"
    [edit_others_posts]      => "edit_others_{$capability_type}s"
    [publish_posts]          => "publish_{$capability_type}s"
    [read_private_posts]     => "read_private_{$capability_type}s"
    [delete_posts]           => "delete_{$capability_type}s"
    [delete_private_posts]   => "delete_private_{$capability_type}s"
    [delete_published_posts] => "delete_published_{$capability_type}s"
    [delete_others_posts]    => "delete_others_{$capability_type}s"
    [edit_private_posts]     => "edit_private_{$capability_type}s"
    [edit_published_posts]   => "edit_published_{$capability_type}s

结束

相关推荐

如果USER_META下的字段使用GET_USERS()为空,则回显文本

使用get\\u users()我列出了用户及其信息。我在数据库中有一个自定义字段,people\\u lists\\u class。<?php $blogusers = get_users(\'role=contributor&orderby=display_name\'); foreach ($blogusers as $user) { echo \'<li class=\"person member