我想知道是否有办法修改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
链接时,我需要过滤帖子列表。
专家有什么想法吗?
先谢谢。
答案 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)