Como posso permitir que a Função do Editor altere as Configurações do Tema?

22

Acabei de configurar um novo Blog para um amigo e achei melhor não dar a ele o Acesso do administrador imediatamente, como precaução.

Eu criei um novo usuário como editor.

Mas, em seguida, vi que este usuário não pode alterar as configurações do tema como plano de fundo e cabeçalho.

Existe uma maneira fácil de permitir que a Função do Editor edite as configurações de tema em Twenty Ten ou em um Child dele? Ele deve basicamente ser capaz de fazer qualquer coisa que um administrador possa fazer. o tema, provavelmente até mudando os temas.

    
por hakre 24.03.2011 / 22:32
fonte

5 respostas

21

você pode adicionar recursos à função de editor usando o objeto de função e add_cap de você functions.php

<?php
   // get the the role object
   $editor = get_role('editor');
   // add $cap capability to this role object
   $editor->add_cap('edit_theme_options');
?>

você também pode remover recursos:

$editor->remove_cap('delete_posts'); 

dê uma olhada na lista de recursos e o que cada um significa.

    
por Bainternet 25.03.2011 / 00:06
fonte
6

Como esse é o primeiro hit do google para essa pergunta, acho que esse é o lugar certo para uma atualização:

Para mim, não consegui fazer isso funcionar por meio de edit_theme_options . Então eu li a fonte do plugin e descobri que é realmente manage_options . E funcionou.

tl; dr:

$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );

funciona para mim (no ano de 2014)

    
por Sebastian Schmid 08.07.2014 / 12:54
fonte
5

Eles não precisam do recurso "edit_themes"? Você pode usar o plugin do Justin Tadlocks enlace para editar os recursos associados a cada função.

    
por Chris 25.03.2011 / 00:03
fonte
1

Outro ótimo plugin é o Editor de Função do Usuário (http://wordpress.org/extend/plugins/user-role-editor/). É semelhante aos membros, mas muito mais básico e simples de usar. Além disso, os desenvolvedores estão sempre por perto para ouvir comentários e oferecer assistência, se necessário.

    
por Travis Pflanz 12.04.2012 / 07:19
fonte
0

Isso é antigo, mas aqui está uma maneira mais recente de conseguir isso:

add_filter( 'user_has_cap',
function( $caps ) {
    if ( ! empty( $caps['edit_pages'] ) )
        $caps['edit_theme_options'] = true;
    return $caps;
} );
    
por Bryan Willis 14.03.2016 / 05:28
fonte