Override del contenido de lección
Cuando un estudiante entra a una lección del curso ve tres cosas:
el título de la lección, el contenido (el texto o video)
y el botón «Completar» al final. Cada una de esas partes
está controlada por un archivo PHP diferente. En esta lección los ponemos
bajo el control de tu child theme.
¿Creamos código nuevo en esta lección?
Sí. Creamos 4 archivos nuevos dentro de
divi-lms-child/learnpress/content-lesson/:
index.php (seguridad), title.php (título),
content.php (contenido) y button-complete.php (botón Completar).
Los overrides son casi iguales a los originales — el cambio principal es que ahora
WordPress usa tu versión y podés personalizarla libremente en el futuro.
Tres archivos, tres partes de la lección
Cuando un estudiante entra a una lección, LearnPress carga tres archivos en orden,
uno debajo del otro. Mirá la página y los colores para entender cuál hace qué:
title.php — el título
content.php — el contenido
button-complete.php — el botón
Promocion de salud oral
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam ut cursus arcu. Vivamus at leo quis enim ornare imperdiet quis ut velit.
Curabitur nec egestas diam.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Praesent vel quam in risus egestas posue…
Pellentesque enim lorem, viverra eu maximus id, vehicula in dui. Integer quis est sit amet sapien dictum feugiat ac eu magna. Pellentesque ut lacinia sem, vitae lobortis arcu…
(continúa el contenido de la lección…)
Los 4 archivos nuevos en tu child theme
Así se ve tu carpeta learnpress/ ahora — con la nueva subcarpeta
content-lesson/ adentro:
📁 Dentro de content-lesson/:
¿Qué hace cada archivo? Explicado fácil
| Archivo | Qué muestra | Cuándo actúa |
|---|---|---|
| title.php | El título grande de la lección. Por ejemplo: «Promocion de salud oral» | Siempre — es lo primero que ve el estudiante al entrar a la lección |
| content.php | El texto, video o contenido de la lección. Lo que escribiste en el editor de WordPress al crear la lección | Siempre — va debajo del título |
| button-complete.php | El botón azul «Completar». Si el estudiante ya completó la lección, muestra un mensaje de éxito en lugar del botón | Solo si el estudiante está inscripto en el curso y la lección no es solo de vista previa |
| index.php | No muestra nada. Solo existe para bloquear el acceso directo a la carpeta desde el navegador (seguridad) | Nunca lo ve el estudiante — solo es protección |
El botón «Completar» tiene dos estados — entendelo bien
El archivo button-complete.php es el más inteligente de los tres.
Antes de mostrar nada, pregunta: «¿Este estudiante ya completó esta lección?»
Dependiendo de la respuesta, muestra una cosa diferente:
Cuando el estudiante hace clic, LearnPress registra la lección como completada
y actualiza el progreso del curso.
y un botón deshabilitado (no se puede hacer clic).
Porque usa la traducción oficial de LearnPress. Si tu sitio tiene el plugin de
traducciones configurado, aparecerá en español. Para forzarlo en español podés
cambiar
esc_html__( 'Completed', 'learnpress' ) por'Completada' directamente en tu override. Eso lo veremos más adelante.
Las rutas — dónde estaban y dónde están ahora
Buscá la carpeta del archivo original en el plugin.
Luego creá la misma estructura de carpetas dentro de
divi-lms-child/learnpress/ y pegá el archivo ahí.La ruta después de
templates/ siempre es idéntica.
Verificá que todo funciona
Para confirmar que los overrides están activos, seguí estos pasos:
(por ejemplo «Promocion de salud oral»)
El botón debe cambiar a estado completado (gris deshabilitado con ✓).
Eso confirma que
button-complete.php funciona correctamente.
✅ Resultado de esta lección
├── content-lesson/ ← NUEVA carpeta esta lección
│ ├── index.php ← seguridad
│ ├── title.php ← Override del título H1
│ ├── content.php ← Override del contenido
│ └── button-complete.php ← Override del botón Completar
├── single-course/
├── content-single-course.php
├── index.php
└── single-course.php