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

  1. Selecciona la regla en el curso y actualiza.
  2. Inicia sesión como un estudiante que debería coincidir — el curso se abre.
  3. Inicia sesión como uno que no debería — aparece el mensaje de sin acceso.
  4. Abre la URL de una lección directamente en ambos estados.
  5. Para una regla basada en tiempo, prueba una cuenta a cada lado del límite.
  6. Para una regla de suscripción, prueba con una suscripción activa y con una cancelada.