¿Es posible agregar nuevos roles de usuario?

7 nov 2012, 18:24:42
Vistas: 22.9K
Votos: 7

Me pregunto si es posible crear un nuevo rol de usuario y darle capacidades limitadas especiales.

Me gustaría tener algunos usuarios que solo puedan agregar eventos al calendario. Deberían poder trabajar únicamente dentro de la taxonomía del calendario de eventos y editar/agregar sus entradas pero sin poder publicarlas, ¡algo como un colaborador pero más limitado!

1
Comentarios

Sin conocimientos de programación puedes agregar roles y capacidades de usuario en WordPress mediante diferentes plugins gratuitos, aquí tienes uno de ellos Roles y Capacidades de Usuario

Mahabubur Rahman Mahabubur Rahman
10 feb 2015 13:13:51
Todas las respuestas a la pregunta 4
2

Sí. WordPress tiene un sistema integrado robusto de Roles y Capacidades diseñado exactamente para lo que necesitas.

Para agregar un nuevo rol, usa la función add_role() en el archivo functions.php de tu tema o en un plugin de la siguiente manera:

$role = add_role( 'event_manager', 'Event Manager', array(
    'read' => true, // True permite esa capacidad
) );

if ( null !== $role ) {
    echo '¡Genial! ¡Nuevo rol creado!';
} else {
    echo 'Oh... el rol event_manager ya existe.';
}

Para agregar una nueva capacidad, usa la función add_cap() así:

$role = get_role( 'event_manager' );
$role->add_cap( 'manage_events' );
7 nov 2012 19:13:06
Comentarios

Debe notarse que solo necesitas añadir (y eliminar) un rol una vez. Se almacenan en la base de datos, no hay necesidad de hacerlo en cada carga de página. Además, en mi opinión, los roles son más adecuados para plugins.

chrisguitarguy chrisguitarguy
7 nov 2012 19:33:07

Me pregunto, ¿no deberíamos crear una función y usar un hook add_action('huh-which-one'

alex alex
8 sept 2014 13:01:46
0

Sí, definitivamente es posible con un plugin como Members. Puedes crear nuevos roles y capacidades, pero recuerda - necesitarás inyectar estas capacidades personalizadas en tu plugin. Lo que puedes hacer es instalar el plugin y luego modificar el rol de colaborador existente para que se ajuste a tus necesidades.

Para un control realmente granular, podrías combinarlo con el plugin Role Scoper también. ¡Gracias!

7 nov 2012 19:14:23
0

Añade el siguiente código en el archivo functions.php

add_role(
    'custom_editor',
    __( 'Editor Personalizado' ),
    array(
        'read'         => true,  // true permite esta capacidad
        'edit_posts'   => true,
    )
);

Reemplaza "Editor Personalizado" con el nombre de tu rol

8 ago 2019 11:31:32
0

Además de soluciones de código puro, también sugeriría este plugin gratuito que he utilizado desde hace varios años y aún lo hago. Es realmente estable y confiable, y se actualiza activamente.

https://wordpress.org/plugins/user-role-editor/

20 jul 2017 15:48:06