¿Cómo estructurar un nuevo esquema de rol / capacidad?

3

Tengo una situación en la que necesito que los usuarios estén marcados como "Instructores" en un sitio. Básicamente, ese rol debe ser cualquiera que sea el rol actual del usuario con la capacidad adicional de ver los comentarios de los estudiantes en un tipo de publicación personalizada llamada "Preguntas".

Estoy luchando con cómo implementar esto conceptualmente. ¿Debo agregar una nueva capacidad y tenerla asignada por sí misma, o debo agregarla y asignarla también a un nuevo rol?

[editar] De los recursos de kaiser, parece que debo agregar la capacidad personalizada y asignársela a los usuarios de forma individual, tal vez desde la página de configuración de configuración / configuración de mi propio complemento, en lugar de crear una función específica [/ editar ]

¿Qué sucede si cambio la función del usuario a otra cosa (por ejemplo, de Administrador a Editor) pero aún quiero que tengan esa capacidad? ¿Es esto algo fácil de programar en un complemento personalizado (que es de donde hago todo esto) o va a ser una empresa monumental?

Las siguientes son mis preguntas principales;

  1. ¿Cuál es la lógica subyacente al cambiar los roles de usuario de uno a otro?

  2. ¿Se transfieren las capacidades personalizadas que se asignaron al cambiar los roles de usuario, o la nueva asignación de roles sobrescribe cualquier otra cosa?

pregunta John 24.02.2014 - 19:08

1 respuesta

1
El

sistema de capacidades de WordPress aproximadamente funciona de la siguiente manera:

  • Las capacidades se pueden adjuntar a usuarios o roles
  • Los roles se pueden adjuntar a los usuarios
  • Los roles son un sistema plano , por lo que no hay nada que anule otra cosa
  • Los nombres de roles también son capacidades

Tenga en cuenta que los nombres de los roles también son capacidades , pero no debe verificarlos. Lo mismo ocurre con el level-0 en desuso hasta que level-9 caps.

En teoría, WordPress admite múltiples roles por usuario, algo que es extremadamente conveniente, ya que puede agregar y eliminar paquetes de Capacidades que se resumen en los nombres de roles. Simplemente no tiene una interfaz de usuario y no está integrado. Ah, y no hay (afaik) ningún complemento que ofrezca eso.

Por lo tanto: la asignación de capacidades a los usuarios es OK . Pero tenga en cuenta que esto puede provocar rápidamente una pesadilla de mantenimiento. En la mayoría de los casos, es mejor (no perfecto) simplemente tomar un rol, copiar sus capacidades a su nuevo rol y agregar el nuevo rol a un usuario. Cuando luego desee cambiar algo, simplemente cambie a rol para todos los usuarios que necesitan tener un nuevo conjunto de mayúsculas.

Nota: Esta es mi opinión. Otros pueden tener uno diferente cuando se trata de lo que es una pesadilla y lo que no :)

    
respondido por el kaiser 24.02.2014 - 20:44

Lea otras preguntas en las etiquetas