WP Manifestindependent plugin directory
manifest / content / convoca-courses

Convoca Courses

Convoca Courses — módulo de cursos para WordPress (dependencia única: convoca-core)

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/josecarlosnieto91/convoca-courses/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Módulo de cursos online para WordPress: cursos con módulos y lecciones, matrícula, progreso, certificado verificable y venta opcional.

  • Dependencia obligatoria: convoca-core — y nada más.
  • Opcional: convoca-gateway, solo para cobrar la matrícula.
  • Licencia: GPL-2.0-or-later.

Qué hay dentro

Pieza Tipo Dónde
Curso CPT convoca_curso includes/CPT_Curso.php
Módulo CPT convoca_modulo includes/CPT_Modulo.php
Lección CPT convoca_leccion includes/CPT_Leccion.php
Matrícula CPT convoca_matricula includes/CPT_Matricula.php
Progreso tabla {prefijo}convoca_course_progress includes/Progress.php, includes/Installer.php

La API pública del módulo son shortcodes, no plantillas del tema:

[convoca_curso id="123"]            Portada del curso: datos, progreso y matrícula.
[convoca_curso_lecciones id="123"]  Índice de lecciones con progreso y bloqueos.
[convoca_curso_leccion id="456"]    Render de una lección concreta.

Desarrollo

composer install
composer test          # phpcs + phpstan + phpunit
vendor/bin/phpcs --standard=.phpcs.xml.dist
vendor/bin/phpstan analyse --configuration=phpstan.neon
vendor/bin/phpunit -c phpunit-unit.xml

Pruebas

  • tests/Unit/ProgressTest.php — el porcentaje que decide el certificado.
  • tests/Unit/HierarchyTest.php — validación curso → módulo → lección.
  • tests/Unit/VideoSignatureTest.php — firma AWS V4 contra el vector publicado por AWS.
  • tests/Unit/LicenseTest.php — PRO y periodo de gracia.
  • tests/Unit/ManifestTest.php — regla 0 (ningún nombre de entidad), versiones coherentes y secciones del readme.

Paquete

python3 ~/repos/convoca-release/pack-plugin.py ~/repos/convoca-courses

Genera el zip sin ficheros de desarrollo y con vendor/ de producción.