Dê acesso ao editor para a barra lateral

12

Eu quero dar ao Editor Role acesso para editar a barra lateral e seu conteúdo. Eu tenho um widget de texto lá e, a fim de editar este widget de texto, o usuário precisa ser um administrador - isso é uma droga. Como faço para conceder permissão para o Editor Papel que lhe dará acesso para editar a barra lateral?

    
por Howdy_McGee 13.09.2011 / 20:22

2 respostas

21

O recurso edit_theme_options deve permitir que o usuário edite a barra lateral conforme descrito nesta página: enlace

Código para adicionar a functions.php

   $role = get_role('editor'); 
   $role->add_cap('edit_theme_options');

Editar:

Isso deve funcionar para evitar que o editor acesse temas ou menus

function custom_admin_menu() {

    $user = new WP_User(get_current_user_id());     
    if (!empty( $user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role)
            $role = $role;
    }

    if($role == "editor") { 
       remove_submenu_page( 'themes.php', 'themes.php' );
       remove_submenu_page( 'themes.php', 'nav-menus.php' ); 
    }       
}

add_action('admin_menu', 'custom_admin_menu');

Eu não tive a chance de testar isso, mas ele só os remove do menu que ainda podem acessá-los digitando o URL diretamente.

    
por Elliott 13.09.2011 / 20:49
2

Se você quiser apenas configurar isso da maneira mais fácil possível, use o plugin Members. A capacidade que você precisará adicionar é 'edit_theme_options'. Esteja ciente de que isso concederá mais do que apenas a área de widgets. Isso também concederá ao editor acesso a todo o menu Appearance. Veja aqui

enlace

Se você quiser fazer isso de forma programática, precisará usar add_cap ().

$editor = get_role('editor');
$editor->add_cap('edit_theme_options');

Você pode jogar esse código em seu próprio plugin e pronto. Ou coloque em functions.php .

    
por eddiemoya 13.09.2011 / 20:50