如何修改wordpress管理面板中的默认帖子列表

时间:2014-05-19 10:10:47

标签: wordpress

我想知道是否有办法修改wordpress管理面板中的默认帖子列表。

假设有些用户有post manager个角色,我不希望他们看到所有帖子。他们需要查看来自特定组的帖子。让3个Post Managers命名为Alex,Byron和Chalice,并且他们分别被分配到Group Alpha,Omega和Zeta。亚历克斯需要看到来自阿尔法的帖子,拜伦会看到来自欧米茄的帖子等等。他们都不能看到任何其他组的帖子。

我通过在帖子中分配特定元值来对帖子进行分组,元查询会将我所需组中的所有帖子返回给我。

默认情况下,我看到任何Post Manager都可以看到Wordpress管理面板中的所有帖子。

现在,我正在寻找一种方法,根据登录的Post Manager将默认帖子列表修改为特定组的帖子列表。

我尝试了action restrict_manage_posts,允许我设置一个可以过滤帖子列表的下拉菜单。这需要在过滤器之前进行查询。当帖子管理员点击管理面板中的view all posts链接时,我需要过滤帖子列表。

专家有什么想法吗?

先谢谢。

2 个答案:

答案 0 :(得分:3)

您必须挂钩pre_get_posts并修改$wp_query对象。

一些参考文献:

要仅在帖子列表管理页面中加载挂钩,请使用:

add_action( 'load-edit.php', function() {
    global $typenow;
    if( 'post' !== $typenow )
        return;

    add_action( 'pre_get_posts', etc...
});

答案 1 :(得分:0)

搜索了一个小时后......非常简单。 在顶部,打开"屏幕选项"并输入您要查看的金额。 是的。