【问题标题】:Get multiples categories posts in admin post listing在管理员帖子列表中获取多个类别帖子
【发布时间】:2017-10-14 19:58:56
【问题描述】:

我正在尝试使用“pre_get_posts”操作来更改 wordpress 管理员中的帖子查询列表。我想要实现的是当用户具有特定角色时仅显示具有特定类别的帖子。例如,如果用户具有“内部编辑”角色,则应该只允许他编辑具有特定类别的帖子,因此在管理员帖子列表中我只想列出他们可以编辑的帖子。

这是一种工作,但我有 36 个类别为“2”的帖子,只有 1 个类别为“3”的帖子......在管理员中,我只看到列出的 36 个帖子,它们都属于“2”类别" 即使项目总数正确显示 (37)。

这是我的代码

public function filter_post_for_xbox_insider_role($wp_query_obj)
{
    global $pagenow;

    if( !is_admin() ){
        return;
    }

    if( 'edit.php' != $pagenow )
    {
        return;
    }

    if( 'post' != $wp_query_obj->query['post_type'] )
    {
        return;
    }

    $user = wp_get_current_user();

    if($user->roles[0] != 'insider_editor')
    {
        return;
    }

    $wp_query_obj->set('cat', '2,3' );

}

为什么$wp_query_obj->set('cat', '2,3' ); 不能正常工作?

谢谢

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    已经有一个插件可以满足您的需求 Role Scoper 只需勾选方框即可。

    【讨论】:

    • 这不是问题,用户表和角色几乎永远不会更改或弃用,因此使用安全。我会担心 SEO、放大器、主题插件
    猜你喜欢
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 2015-10-11
    • 1970-01-01
    相关资源
    最近更新 更多