Para desarrolladores

Las interfaces públicas que POM LMS ofrece a temas e integraciones: los helpers de acceso, los helpers de finalización, los helpers de vídeo, los filtros que permiten ampliar cursos y ajustes, y los hooks de plantilla.

En este capítulo

Tema Artículo
Cursos, lecciones y dónde viven sus datos El modelo de contenido
La regla que toda integración debe seguir El contrato de control de acceso
Comprobar el acceso a un curso El helper de acceso a cursos
Comprobar el acceso a una lección El helper de acceso a lecciones
Evaluar una regla de permiso El helper de acceso por permisos
Comprobar una compra El helper de acceso por compra
Leer y escribir el progreso Helpers de finalización
Renderizar vídeos de lecciones Helpers de vídeo
Añadir campos a cursos y lecciones Ampliar la metabox del curso
Añadir secciones de ajustes Ampliar los ajustes
Trabajar con el endpoint Mis cursos Integración del endpoint Mis cursos
Encontrar cursos y lecciones Consultas y helpers de URL
Renderizar dentro de las páginas de curso y lección Integración de plantillas
Gestionar los datos de los estudiantes de forma responsable Seguridad y gestión de datos

Qué es estable

Las interfaces documentadas en este capítulo: las funciones helper pom_lms_* descritas aquí, los dos filtros y las acciones del tema sobre la plantilla de artículo individual.

Todo lo que no está documentado aquí —clases internas, estructura de los archivos de plantilla, handles de scripts, la forma de los valores almacenados— puede cambiar entre versiones. Si necesitas algo que no está cubierto, pregunta antes de construir sobre ello.

Requisitos

POM LMS requiere POM Theme, y sus helpers de acceso requieren la compatibilidad del tema con las reglas de permisos. El acceso basado en compras requiere WooCommerce, y las condiciones de suscripción requieren además la extensión de suscripciones de WooCommerce.

Protege tus integraciones en consecuencia:

if ( ! function_exists( 'pom_lms_user_can_access_course' ) ) {
    return;
}

Una comprobación function_exists() es la forma admitida de detectar POM LMS. No existe una constante de versión sobre la que ramificar en tu propio código.

La única regla

Si tu integración renderiza contenido de cursos o lecciones en cualquier lugar —un shortcode, un widget, una respuesta REST, un correo electrónico— debe llamar primero al helper de acceso. Consulta El contrato de control de acceso.

Todo lo demás en este capítulo es conveniencia. Esa regla no lo es.