如何在设置->常规->新建用户默认角色中删除管理员角色?

时间:2012-02-01 作者:PrivateUser

我不想意外选择管理员角色。

那么有没有办法将其从Settings -> General -> New User Default Role ?

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

好吧,这看起来很棘手,但我认为这是可能的。

user-new.php 文件调用wp_dropdown_roles() 输出角色列表

  • wp_dropdown_roles() 函数调用get_editable_roles() 获取要输出的角色列表
  • get_editable_roles() 函数有一个过滤器,editable_roles.editable_roles, 这样,如果当前页面user-new.php, 您取消设置administrator 从…起$editable_roles.

    如果你能给我函数的代码,那就太棒了。php文件。

    这完全没有经过测试,但应该会让你朝着正确的方向前进。我假设$editable_roles 是用户角色的数组,例如。array( \'subscriber\', \'author\', \'editor\', \'administrator\' ), 但我还没有证实。

    <?php
    function wpse_40897_filter_get_editable_roles_for_new_user( $editable_roles ) {
        global $pagenow;
        if ( \'user-new.php\' == $pagenow ) {
            unset( $editable_roles[\'administrator\'] );
        }
        return $editable_roles;
    
    }
    add_filter( \'editable_roles\', \'wpse_40897_filter_get_editable_roles_for_new_user\' );
    ?>
    
    Caveat: 这不是交钥匙代码,而只是示例代码。如果你不喜欢用它去你需要的地方,那么我不建议你用它来做仿意大利面。

  • 结束

    相关推荐

    paginate posts on admin page

    我创建了一个插件,可以调用帖子列表并获取外部API数据。我正在使用get\\u posts获取列表(因为我需要将链接数组提供给API查询)无论出于何种原因,分页的任何尝试要么完全失败,要么加载相同的帖子。由于我所做的一切都不起作用,所以现在我删除了所有分页。add_action(\'admin_menu\' , \'blgs_dashboard_snap\'); function blgs_dashboard_snap() { add_dashboard_pa