您需要使用具有编辑帖子能力的用户登录吗?

时间:2015-11-09 作者:1.21 gigawatts

我有一个网络博客,用户创建了一个网站后,在试图保存帖子时出现错误:

您需要使用具有编辑帖子功能的用户登录

当他们创建帐户时,他们不应该有编辑帖子的能力吗?

2 个回复
最合适的回答,由SO网友:1.21 gigawatts 整理而成

简短回答:
URL不正确。试图保存到网络路径而不是用户路径。

详细回答:
我有一个网络博客。我有一个默认用户的示例博客。使用默认用户,我发布了帖子。当新用户注册时,他们会在客户端本地获得该帖子的副本(帖子数据的JSON)。这是一个副本,他们可以使用它开始。当默认用户保存时,它工作正常,因为他处于默认网络路径。当新用户保存时,它不起作用,因为新用户无法保存到默认路径。新用户只能保存到新用户路径。

默认用户路径:

http://www.example.com/networksite/

新用户路径:

http://www.example.com/networksite/newusersite/

复制的客户端JSON对象试图保存到原始URL(这适用于具有相同路径的默认用户):

http://www.example.com/networksite/

更新新用户站点的路径后:

http://www.example.com/networksite/newusersite/

...他能够保存文件。

错误消息是正确的。我的代码不正确。但是,错误消息可能包含更多信息。

SO网友:maddog

通过保持当前的主题函数来尝试这一点。PHP更改角色而不是作者

function add_theme_caps() {
    // gets the author role
    $role = get_role( \'author\' );

    // This only works, because it accesses the class instance.
    // would allow the author to edit others\' posts for current theme only
    $role->add_cap( \'edit_posts\' ); 
}
add_action( \'admin_init\', \'add_theme_caps\');