¿Cómo eliminar la función de administrador en la configuración - general - Nueva función predeterminada del usuario?

4

No quiero seleccionar accidentalmente la función de administrador.

Entonces, ¿hay una manera de eliminarlo de Settings -> General -> New User Default Role ?

    
pregunta Giri 01.02.2012 - 18:52

1 respuesta

4

Está bien, esto parece complicado, pero creo que es posible.

  1. El archivo user-new.php llama a wp_dropdown_roles() a la salida la lista de roles.
  2. La función wp_dropdown_roles() llama a get_editable_roles() para obtener la lista de roles a generar.
  3. La función get_editable_roles() tiene un filtro, editable_roles .

Entonces, deberías poder agregar un filtro para editable_roles , de modo que, si la página actual es user-new.php , desactivas administrator de $editable_roles .

Editar

  

Sería increíble si me pudieras dar el código de mi archivo functions.php.

Esto no se ha probado completamente, pero debería llevarlo en la dirección correcta. Estoy asumiendo que $editable_roles es una matriz de roles de usuario, por ejemplo. array( 'subscriber', 'author', 'editor', 'administrator' ) , pero no lo he verificado.

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

Advertencia : este no es un código llave en mano, sino que es simplemente un código ejemplo . Si no te sientes cómodo haciéndolo para llegar a donde lo necesitas, entonces no recomendaría usarlo para copiar la pasta.

    
respondido por el Chip Bennett 01.02.2012 - 22:01

Lea otras preguntas en las etiquetas