Wordpress管理员门户 - 编辑角色自定义

时间:2018-01-12 09:42:43

标签: php wordpress

我的要求是编辑应该能够看到创建编辑器/用户后添加的帖子。

例如,如果WordPress系统有超过2000个帖子,并且编辑器于12月13日创建。一旦编辑登录到WordPress管理员,他应该能够在12月13日之后看到帖子。

我尝试添加过滤器来实现更改,但它无法正常工作。有什么建议吗?

function posts_since_editor_created($query)
{
    global $pagenow;
     if($pagenow != 'edit.php' || $query->is_admin )  //for admin and other places it returns the usual query response.
    {
        return $query;        
    }

    //check if current user have edit access
    if( current_user_can( 'edit_others_posts' ) )
    {
        global $user_ID;
        $udata = get_userdata( $user_ID );
        $registered_date = $udata->user_registered;

        $query->set( 'date_query', 
        [
            [
                'after' =>  $registered_date,  // posts only displayed after user registration date 
                'before' => '2025-10-10',
                'inclusive' => true,
            ]
        ] 
        );
    }
    return $query;
}
add_filter('pre_get_posts', 'posts_since_editor_created');

1 个答案:

答案 0 :(得分:0)

使用以下方式设置 date_query

 $query->set('date_query', array(
            array(
                'after' =>  $registered_date,  // posts only displayed after user registration date 
                'before' => '2025-10-10',
                'inclusive' => true
            ),
        )
    );

只需将date_query替换为上面的那个就可以了。

相关问题