¿Cómo apuntar con css, elementos de administración según el nivel de rol del usuario?

4

Estoy usando los complementos "Capability Manager Enhanced" y "Adminimize". Entre estos dos he podido hacer mucho de lo que quiero hacer.

Todavía hay algunos elementos que necesito ocultar y he podido identificarlos con css.

El problema es que estos elementos están ocultos en todos los niveles de usuario administrador.

¿Hay algo integrado que distinga los diferentes niveles de función en el administrador?

Creo que la mejor manera de hacerlo sería agregar una clase a la etiqueta del cuerpo de acuerdo con el nivel de rol en el inicio de sesión, como la clase "autor" si el nivel de rol de inicio de sesión es "autor".

Si esta es la mejor manera, no sabría cómo escribir el código para hacer esto. Supongo que sería una adición de php a function.php. ???

    
pregunta Bob Nelson 02.10.2012 - 03:38

1 respuesta

5

El filtro admin_body_class te permite agregar clases a la etiqueta del cuerpo.

Esta función agregará todos los roles como clases en la forma role-$role , por ejemplo, role-administrator , a la etiqueta del cuerpo:

function wpa66834_role_admin_body_class( $classes ) {
    global $current_user;
    foreach( $current_user->roles as $role )
        $classes .= ' role-' . $role;
    return trim( $classes );
}
add_filter( 'admin_body_class', 'wpa66834_role_admin_body_class' );
    
respondido por el Milo 02.10.2012 - 04:51

Lea otras preguntas en las etiquetas