Acceso basado en permisos
Una regla de permiso es la forma flexible de decidir quién entra en un curso: por rol, por compra, por suscripción o por cuándo ocurrió algo.
Dónde viven las reglas
Las reglas se definen una vez en las opciones de reglas de permiso del tema y después se seleccionan en un curso o una lección.
POM LMS no define reglas. Si el selector de un curso está vacío, todavía no existen reglas; créalas primero en las opciones del tema.
Qué puede exigir una regla
| Requisito | Ejemplos |
|---|---|
| Rol | Es miembro · No es suscriptor |
| Compra — todas | Ha comprado todos los productos de un conjunto |
| Compra — alguna | Ha comprado al menos uno de un conjunto |
| Compra — ninguna | No ha comprado ninguno de un conjunto |
| Momento de compra | Comprado en una fecha · hace más de N días/semanas/meses/años · hace menos de eso |
| Suscripción | Una suscripción activa basada en cualquiera o en todos los productos de un conjunto |
| Estado de suscripción | Un estado concreto, con una fecha de inicio anterior o posterior a un punto |
Una regla tiene un solo tipo de requisito. Tú eliges El rol es, o Ha comprado CUALQUIERA de…, o Suscripción basada en TODOS… — no dos a la vez.
Lo que una única regla sí puede añadir es detalle dentro de ese tipo:
- Seleccionar varios roles coincide con cualquiera de ellos.
- Seleccionar varios productos se combina según el tipo que elegiste: todos, cualquiera o ninguno.
- Una regla de compra puede exigir además que la compra se haya hecho en una fecha, o hace más o menos de un número de días, semanas, meses o años.
- Una regla de suscripción puede exigir además un estado y una fecha de inicio anterior o posterior a un punto.
No existe ninguna regla que signifique «un miembro o alguien que compró esto»: una prueba de rol y una prueba de compra no pueden convivir en la misma regla.
Nombrar reglas
Una regla se comparte entre todos los cursos y lecciones que la seleccionan, así que su nombre debe describir lo que exige, no dónde se usa:
| Bien | Mal |
|---|---|
| Suscripción activa — cualquier plan | Regla para el curso de repostería |
| Solo miembros | Curso 3 |
| Compró el pack inicial hace más de 2 meses | Acceso avanzado |
Una regla bien nombrada es reutilizable; una regla con nombre de curso acaba duplicándose.
Una regla, muchos cursos
Esa es su fuerza: cambia la regla y todos los cursos que la usan la siguen.
También es su riesgo. Después de editar una regla, prueba todos los cursos que la seleccionan, con un estudiante que debería pasar y con otro que no debería. No hay ningún aviso cuando un cambio en la regla afecta a un curso en el que no estabas pensando.
Las reglas sustituyen, no combinan
Una vez que se aplica una regla, la evaluación se detiene:
- una regla en el curso significa que el ajuste de curso de pago se ignora;
- una regla en una lección significa que la regla del curso se ignora para esa lección.
Como una regla tiene un único tipo de requisito, eso significa que un curso tiene un único requisito. Si deben entrar dos clases distintas de personas — por ejemplo, miembros y compradores individuales — no puedes expresarlo en una sola regla, y tienes que elegir qué mecanismo gobierna el curso.
Las reglas basadas en tiempo necesitan pruebas de límite
Las reglas que dependen de cuándo se compró algo, o de la fecha de inicio de una suscripción, cambian su comportamiento con el tiempo. Un curso que hoy funciona puede bloquear a todo el mundo el mes que viene.
Prueba con cuentas a ambos lados del límite y anota en tus propios registros cuándo cambiará el comportamiento.
Las reglas de suscripción necesitan la extensión de suscripciones
Las reglas basadas en el estado o la fecha de inicio de una suscripción dependen de que WooCommerce subscriptions esté presente. Sin ella, esos tipos de regla no están disponibles.
Elegir entre una regla y los ajustes simples
| Situación | Usa |
|---|---|
| Cualquier estudiante conectado | El requisito de inicio de sesión |
| Un producto, un curso | El ajuste de curso de pago |
| Varios productos | Una regla |
| Una suscripción | Una regla |
| Un rol | Una regla |
| Una ventana de tiempo | Una regla |
| Un requisito que ya expresaste en otro lugar | La regla existente |
Ante la duda, usa una regla: expresa más y mantiene todo el sitio en un único mecanismo.
Verifica
- Selecciona la regla en el curso y actualiza.
- Inicia sesión como un estudiante que debería coincidir — el curso se abre.
- Inicia sesión como uno que no debería — aparece el mensaje de sin acceso.
- Abre la URL de una lección directamente en ambos estados.
- Para una regla basada en tiempo, prueba una cuenta a cada lado del límite.
- Para una regla de suscripción, prueba con una suscripción activa y con una cancelada.