¿Cómo puedo permitir que el rol del editor cambie la configuración del tema?

22

Acabo de configurar un nuevo blog para un amigo y pensé que es mejor no darle acceso de administrador de inmediato como medida de precaución.

Creé un nuevo usuario como editor, por lo tanto.

Pero luego vi que este usuario no puede cambiar la Configuración del tema como Fondo y Encabezado.

¿Hay una manera fácil de permitir que el rol de editor edite cualquier configuración de tema en Twenty Ten o en Child of it? Básicamente debería poder hacer cualquier cosa que un administrador pueda hacer. El tema, probablemente incluso cambiando temas.

    
pregunta hakre 24.03.2011 - 22:32

5 respuestas

21

puedes agregar capacidades a la función de editor usando el objeto de función y add_cap desde tus funciones.php

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

También puedes eliminar capacidades:

$editor->remove_cap('delete_posts'); 

simplemente eche un vistazo a la lista de capacidades y qué significa cada una.

    
respondido por el Bainternet 25.03.2011 - 00:06
6

Dado que este es el primer éxito en Google para esta pregunta, creo que este es el lugar adecuado para una actualización:

Para mí, no pude hacer que funcionara a través de edit_theme_options . Luego leí la fuente del complemento y descubrí que en realidad es manage_options . Y funcionó.

tl; dr:

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

funciona para mí (en el año 2014)

    
respondido por el Sebastian Schmid 08.07.2014 - 12:54
5

¿No necesitan la capacidad de "editar temas"? Puede usar el complemento de Justin Tadlocks enlace para editar las capacidades asociadas con cada función.

    
respondido por el Chris 25.03.2011 - 00:03
1

Otro gran complemento es el Editor de funciones de usuario (http://wordpress.org/extend/plugins/user-role-editor/). Es similar a los Miembros, pero mucho más básico y fácil de usar. Además, los desarrolladores siempre están cerca para escuchar los comentarios y ofrecer asistencia, si es necesario.

    
respondido por el Travis Pflanz 12.04.2012 - 07:19
0

Esto es antiguo, pero aquí hay una nueva forma de lograrlo:

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

Lea otras preguntas en las etiquetas