Php ';贡献者';在没有访问后端的情况下删除自制帖子

Php ';贡献者';在没有访问后端的情况下删除自制帖子,php,ajax,wordpress,backend,Php,Ajax,Wordpress,Backend,长话短说,我有一个从头开始构建的wordpress网站,人们可以使用前端注册为“贡献者”,进入特定页面,创建自定义帖子类型,所有这些都是从前端开始的 现在我设法让他们可以“编辑”帖子,或者“删除”帖子 我也不希望他们在后端,永远。所以我把这个脚本添加到我的functions.php中 add_action( 'init', 'blockusers_init' ); function blockusers_init() { if ( is_admin() && !

长话短说,我有一个从头开始构建的wordpress网站,人们可以使用前端注册为“贡献者”,进入特定页面,创建自定义帖子类型,所有这些都是从前端开始的

现在我设法让他们可以“编辑”帖子,或者“删除”帖子

我也不希望他们在后端,永远。所以我把这个脚本添加到我的functions.php中

add_action( 'init', 'blockusers_init' );
    function blockusers_init() {
    if ( is_admin() && ! current_user_can( 'administrator' ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
        wp_redirect( home_url() );
        exit;
    }
}

对此进行评论,一切正常,但有了它,他们肯定无法使用/wp管理员URL访问后端,但他们也无法删除他们的帖子,我假设这会以某种方式阻止这些请求,我能做的任何线索?

我会尝试使用Justin Tadlock创建一个新角色,只需要您所需的权限,将其设置为新注册的默认角色,并将现有用户转移到该角色。同上。JustinTadlock的会员插件是一个很好的选择。不建议使用“当前用户”来控制权限。函数“current_user_can”创建用于功能,而不是角色。