允许用户仅编辑自己的页面,而不能编辑其他人的页面

时间:2012-03-26 作者:zealeus

我们目前有大约50页,其中每一页我希望一个用户(如bob、rob、smith)只能编辑1页。例如,bob&;史密斯每个人都有自己的网页。我不希望bob能够编辑smith的页面。我希望bob只能编辑bob的页面。我不在乎他是否能看到其他页面。通过查看用户角色,我目前看不到这样做的方法-我只看到如何允许在全局范围内限制访问。

他们是否有任何插件可以帮助限制每个用户的编辑访问权限,或者角色限制为编辑特定页面,而我只能为每个角色添加1个用户?或者有没有办法用我错过的默认设置做到这一点。

4 个回复
最合适的回答,由SO网友:Milo 整理而成

这个Role Scoper 插件可以启用此功能。

SO网友:Brendan Nee

您可以将此添加到functions.php 文件,允许用户编辑他们创建的页面并管理媒体。只需指定其$user_id (即27):

function add_theme_caps() {
    // to add capability to $user_id
    $user = new WP_User( $user_id );
    $user->add_cap( \'edit_pages\' );
    $user->add_cap( \'edit_published_pages\' );
    $user->add_cap( \'upload_files\' );
}
add_action( \'admin_init\', \'add_theme_caps\' );
您可以找到特定用户的$user_id 当您从Wordpress管理页面编辑特定用户时,从URL。

查看完整列表Wordpress capabilities.

如果您想修改内置角色contributor 允许所有用户使用contributor 修改他们创建的页面的角色:

function add_theme_caps() {
    // to add capability to the role `contributor`
    $role = get_role( \'contributor\' );
    $role->add_cap( \'edit_pages\' );
    $role->add_cap( \'edit_published_pages\' );
    $role->add_cap( \'upload_files\' );
}
add_action( \'admin_init\', \'add_theme_caps\' );

SO网友:Adam Rice

角色范围非常强大,但我认为这有点过头了。如果将Bob和Smith设置为具有作者角色(默认角色之一),则他们只能编辑自己的帖子。

SO网友:Fred Andrews

您也可以只编辑WP表。看来phpAdmin会是一种更快的方式。

这张桌子是

wp_usermeta
搜索user\\u id,更改的值

wp_capabilities
并将其设置为

a:4:{s:11:"contributor";b:1;b:1;s:10:"edit_pages";b:1;s:20:"edit_published_pages";b:1;s:12:"upload_files";b:1;}
我发现http://www.unserialize.me/ 帮助我确保序列化正确(我希望还有其他网站)

结束

相关推荐

如何对GET_USERS函数进行分页?

Im使用get\\u users函数显示站点上的自定义用户列表。我现在唯一有问题的是如何对结果分页。这是Im使用的函数示例:似乎没有一种明显的方法可以为this函数创建分页。如果能帮上点忙,我将不胜感激。