Controla la visibilidad de los custom post types con reglas de permiso

Una regla de permiso decide si POM Theme muestra contenido compatible para el visitante actual. Un custom post type puede usar una regla para sus entradas individuales y, opcionalmente, mostrar una plantilla alternativa cuando se deniega el acceso.

Las reglas de permiso controlan la presentación del tema. No modifican los roles ni las capacidades de WordPress, no protegen los campos de la REST API ni sustituyen la autorización de otro plugin.

Define primero la audiencia

Anota el resultado esperado para cada estado del visitante antes de crear una regla:

Visitante Resultado esperado en la entrada individual
Visitante sin sesión Contenido público, alternativa o no encontrado
Rol permitido Contenido protegido
Otro rol con sesión Alternativa o no encontrado
Cliente o suscriptor que cumple los requisitos Contenido protegido

Las condiciones de compra y suscripción aparecen solo cuando la extensión de WooCommerce correspondiente está activa. Esas condiciones requieren un visitante con sesión iniciada cuya cuenta pueda evaluarse.

Crea una regla con nombre

  1. Abre Settings → POM Theme → Content model → Permission rules.
  2. En Rules, elige Add permission rule.
  3. Introduce un Rule name claro de nivel superior.
  4. En el grupo anidado Rules, elige Add condition.
  5. Pon un nombre a la condición y selecciona su Rule type.
  6. Completa los ajustes de roles, productos, fecha de compra o suscripción que se muestran para esa condición.
  7. Añade más condiciones solo cuando la audiencia las requiera.
  8. Establece Condition between sub-rules:
    • AND exige que se cumplan todas las condiciones.
    • OR permite que se cumpla cualquier condición.
  9. Guarda los ajustes.

Los tipos de condición siempre disponibles son Role is y Role is not. Según las extensiones de WooCommerce activas, la lista también puede incluir comprobaciones de compra de productos, comprobaciones de fecha de compra, comprobaciones de productos de suscripción, comprobaciones de estado de suscripción y comprobaciones de fecha de suscripción.

Una regla sin condiciones utilizables no restringe la visualización. Añade siempre al menos una condición y compruébala antes de asignar la regla.

Asigna la regla a un post type

  1. Abre Settings → POM Theme → Content model → Post Types.
  2. Edita el elemento correspondiente en Custom Post types.
  3. Selecciona la Permission rule guardada.
  4. Opcionalmente, elige una Permission rule fallback template.
  5. Guarda los ajustes.

Cuando un visitante no cumple la regla asignada, POM Theme usa la plantilla alternativa seleccionada. Sin una alternativa, la petición individual devuelve un resultado de no encontrado.

Comprueba todas las ramas

Usa una entrada representativa publicada y prueba en sesiones separadas:

  1. Visítala sin iniciar sesión.
  2. Visítala con cada rol al que hace referencia la regla.
  3. Visítala con un rol con sesión iniciada que no esté referenciado.
  4. Para reglas de comercio, prueba tanto cuentas de cliente que cumplen los requisitos como cuentas que no los cumplen.
  5. Confirma que la plantilla protegida, la plantilla alternativa o el resultado de no encontrado coinciden con la tabla de audiencia.
  6. Confirma que los archivos, los resultados de búsqueda, las APIs, los feeds y las integraciones de terceros exponen solo lo que permite su propia configuración.

Si todos los visitantes pueden ver la entrada, confirma que el post type tiene seleccionada la Permission rule correcta y que la regla contiene una condición. Si a todos los visitantes se les deniega, simplifica la regla a una única condición conocida y compruébala antes de restablecer las combinaciones AND.

Revisa de nuevo el comportamiento de los permisos siempre que cambien los roles, los productos de WooCommerce, las suscripciones o la plantilla alternativa.