Como segmentar com css, elementos admin de acordo com o nível de função do usuário?

4

Estou usando os plugins "Capability Manager Enhanced" e "Adminimize". Entre esses dois, consegui fazer muito do que quero fazer.

Ainda há alguns elementos que eu preciso ocultar e posso segmentá-los com CSS.

O problema é que esses elementos estão ocultos em todos os níveis de usuários administrativos.

Existe algo embutido que distingue os diferentes níveis de função no admin?

Eu acho que a melhor maneira de fazer isso seria adicionar uma classe à tag body de acordo com o nível de função no log-in - como classe "author" se o nível de função log-in for "author".

Se esta é a melhor maneira, eu não saberia como escrever o código para fazer isso. Eu suponho que seria uma adição php para function.php. ???

    
por Bob Nelson 02.10.2012 / 03:38

1 resposta

5

O filtro admin_body_class permite adicionar classes à tag body.

Essa função adicionará todas as funções como classes no formulário role-$role , por exemplo role-administrator , à tag body:

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' );
    
por Milo 02.10.2012 / 04:51