Como remover a função de administrador nas configurações - geral - Função padrão do novo usuário?

4

Não quero selecionar acidentalmente a função Administrador.

Existe uma maneira de removê-lo de Settings -> General -> New User Default Role ?

    
por Giri 01.02.2012 / 18:52

1 resposta

4

Ok, isso parece complicado, mas acho que é possível.

  1. As user-new.php chamadas de arquivo wp_dropdown_roles() para a saída a lista de papéis.
  2. As chamadas de função wp_dropdown_roles() get_editable_roles() para obter a lista de funções para a saída.
  3. A função get_editable_roles() tem um filtro, editable_roles .

Assim, você deve poder adicionar um filtro para editable_roles , de modo que, se a página atual for user-new.php , você cancele a defina administrator de $editable_roles .

Editar

  

Seria fantástico se você pudesse me dar o código para o meu arquivo functions.php.

Isto é completamente não testado, mas deve levá-lo na direção certa. Estou assumindo que $editable_roles é uma matriz de funções de usuário, por exemplo, array( 'subscriber', 'author', 'editor', 'administrator' ) , mas não verifiquei.

<?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' );
?>

Ressalva : Este não é um código turn-key, mas é apenas um código exemplo . Se você não estiver confortável para chegar onde precisa, então eu não recomendaria usá-lo para copiar massas.

    
por Chip Bennett 01.02.2012 / 22:01