如果用户没有发布页面的权限,如何在wordpress中更改页面作者?

时间:2010-05-09 01:04:23

标签: wordpress

问题是我正在使用“用户角色编辑器”,我有一个用户组可以读取和编辑已发布的页面。现在,我将添加该网站上的所有页面,我们将有几个用户只需要一个他们可以编辑的页面,所以我需要该页面将“页面作者”更改为该用户。如果您不知道,当用户启用“编辑已发布网页”时,他们只能编辑作为作者列出的网页。

问题是我只能通过进入phpmyadmin并将page_author字段更改为该用户的id来实现,因为该用户组(如我所说)可以仅读取和编辑已发布的页面。这就是为什么我无法将页面作者从“编辑页面”页面更改为该用户组的用户。

所以我的问题是:有没有人知道这个问题的任何解决方案,这不涉及我去phpmyadmin并更改page_author的id?

4 个答案:

答案 0 :(得分:2)

您可以尝试暂时让这些用户能够编辑所有页面(我认为该功能类似于'edit_others_pages'),创建所有页面并将其分配给正确的用户,然后撤消该功能。

答案 1 :(得分:1)

检查页面(当您在“所有页面”时),然后从下拉菜单中选择批量修改并更改作者..

答案 2 :(得分:0)

我发现了一个黑客,它让我可以将页面的作者更改为任何用户。对我来说,我想将所有页面的作者更改为具有自定义角色的用户(由Roles插件创建)。

要做到这一点,我去了网页,全部选中,然后点击批量修改。我使用chrome dev工具检查了Author下拉框,然后编辑了其中一个选项。将select的值更改为您要获得所有权的用户的ID **(您也可以更改内部html以使其更清楚您正在做什么),然后单击编辑更多。

现在,您可以下拉到您更改的字段,然后点击更新,并且所有权应该转换。

我不确定用户必须具备哪些限制才能做到这一点,但这对我有用。

**找到这个用户并将鼠标悬停在用户的编辑上,它会显示在网址中(与查找帖子ID等相同)

编辑:

我没有这样做,而是编辑了WP核心。可能有更好的方法可以做到这一点,但我编辑了class-wp-posts-list-table.php,在第775行附近,它将$ users_opt设置为稍后调用$ authors = wp_dropdown_users($ users_opt)的参数。如果您注释掉参数'who'=> '作者',然后WP将列出所有用户(包括订户管理员等 - 每个人)。

如果您查看文档,您会注意到'who'参数目前只接受作者或所有人。我假设稍后它将能够采取其他角色类型。

答案 3 :(得分:0)

只有临时更改用户角色才对我有用。然后将他设为作者,然后改回原位。

相关问题