向角色添加权能,以便用户只能查看自己的帖子

时间:2015-07-29 作者:terminator

我已创建用户角色vendor. 现在我可以给用户提供这些功能,只能编辑、删除等

但是用户会看到所有帖子,而不管谁是帖子的所有者。

但我想知道我是否可以在角色中添加功能vendor 所以用户只能看到他的帖子。。。

1 个回复
SO网友:Domain

首先,您需要删除功能edit_others_posts 如果分配给供应商角色。

然后使用下面给出的代码段:

function posts_for_current_author($query) {
    global $pagenow;

    if( \'edit.php\' != $pagenow || !$query->is_admin )
        return $query;

    if( !current_user_can( \'edit_others_posts\' ) ) {
        global $user_ID;
        $query->set(\'author\', $user_ID );
    }
    return $query;
}
add_filter(\'pre_get_posts\', \'posts_for_current_author\');
上述代码允许任何有能力编辑他人帖子的用户查看所有帖子。其中,作为具有角色的用户,供应商只能看到自己的帖子。

要进行更多自定义,可以使用“用户角色编辑器”插件。

结束

相关推荐

About Wordpress capabilities

我知道WordPress是博客引擎的最佳选择,通过一些插件,如Advance Custom Field,WP可以成为一个很棒的CMS。但它仍然有利于出版商将内容推送给用户。现在我的处境相当严峻。我的朋友想使用WP作为一个引擎,用户可以贡献他们的帖子,其他人可以查看它。是否可以使用WP我可以创建自定义主题(&a);插件可以做到这一点,但当用户在插件上放置很多东西(页面和帖子)时,它对性能有好处吗?