仅允许成员访问自定义帖子类型。仅允许编辑他们自己的帖子

时间:2011-04-12 作者:Scott

好的,我正在寻找最好的方法来解决这个问题。

我非常熟悉PHP,并在WordPress中使用自定义元字段创建自定义帖子类型。

以下是我正在做的事情:

默认情况下,用户注册并设置为订阅服务器我需要以下方面的帮助:

如何创建一个名为“店主”的新“角色”,如何为所述角色授予仅查看和访问自定义帖子类型的正确权限

  • 仅允许用户查看并编辑自己的帖子到该自定义帖子类型

    非常感谢您的任何意见。

    亲切的问候

  • 5 个回复
    最合适的回答,由SO网友:John P Bloch 整理而成

    使用Justin Tadlock的插件“Members。它使您能够创建新角色和编辑现有角色,以及添加自定义功能。只需单击几下即可完成所有需要完成的工作。

    我知道你在评论ZaMoose的回答时说,你“希望自己编写功能,这样我就可以完全控制一切。”这没有抓住开源软件的全部要点。贾斯汀·塔洛克(JustinTadlock)发布了他的插件,所以你可以准确地使用它,这样你就可以完全控制一切。

    如果你真的really 我不能阻止你,但你至少可以省去麻烦,使用Tadlock的插件来学习如何做你想做的事。

    一旦你有了一个可以满足你需要的插件,你就需要更改\'map_meta_cap\' 标记为true 还有\'capability_type\' 在post类型注册函数中标记,以便它显示除“post”、“page”或任何其他“reserved”类型之外的内容。然后,复制与帖子相关的所有功能(例如。edit_posts, edit_others_posts, publish_posts, 等等),使用你的能力类型而不是帖子。确保将所有这些权限分配给管理员(在执行此操作之前,您将无法查看帖子类型),然后创建您的角色,模仿“参与者”角色对您的帖子类型的能力。

    例如,假设您的能力类型为foobars, 你会想给“店主”edit_foobars, delete_foobars, 和read 能力。这样他们就可以创建自己的草稿Foobar,并删除这些草稿,但因为他们没有publish_foobars 能力,他们必须提交批准。因为他们没有edit_published_foobars, 对批准的foobar的所有修改都必须获得批准。

    SO网友:Wyck

    register post类型有一个名为“capabilities”的参数,因此您可以使用

    \'capability\' => \'organize_shop\',
    

    http://codex.wordpress.org/Function_Reference/register_post_type

    要创建新的用户/角色/功能,您可以使用add\\u role、add\\u cap,这是一个简单的开始示例:

    // Add the role to WordPress list of roles
    // Then add the capability \'organize_shop\' to the \'shop_owner\' role
    $role = add_role( \'shop_owner\', \'Shop Owner\', [\'edit_posts\' => true]));
    $role->add_cap( \'organize_shop\' );
    
    
    // If \'shop_owner\' already exists make `$wp_roles` visible then 
    // add the capability \'organize_shop\' to the \'Show Owner\' role
    public $wp_roles;
    $wp_roles->add_cap( \'shop_owner\', \'organize_shop\' );
    
    

    SO网友:ZaMoose

    你考虑过看Gravity FormsTDO Mini Forms 处理实际的内容提交?它们都有一些功能,可以帮助您理智地处理用户提交的内容。

    SO网友:sillyghost

    通过安装一个名为“高级访问管理器”的插件,您不必编写功能,但仍然可以对用户、角色和他们的功能进行适当的控制,这是一种更简单、高效的方法。你想要的大部分东西都可以通过这个插件来实现。

    SO网友:Zeth

    我知道这件事很棘手,但我花了一个小时才弄明白。

    我有插件:WP Custom Admin Interface 已启用,您可以在其中为特定用户自定义管理菜单。如果在启用和自定义菜单后注册自定义帖子类型,则“自定义管理界面”中会有一个按钮>>;\'“管理菜单”,即“添加新添加的菜单项”。然后按“Save”(保存),如果该用户类型可以访问菜单点,那么之后它就会工作。

    结束

    相关推荐

    Recommended File Permissions

    嘿,伙计们,我花了很长时间试图解决这个问题。我想知道WordPress中的文件权限应该是什么样子in order to use the autoupdate feature. 到目前为止,我的wordpress安装程序一直在询问我的FTP信息,我不想使用那种升级/安装方法,我想使用纯/直接PHP。某些上下文:Web服务器和php fcgi守护程序运行为www-data:www-data</wordpress安装位于/home/blaenk/sites/domain.tld/</首先,我read