Aprende en este tutorial cómo enseñar un listado de lecciones pertenecientes a un curso al final del mismo en WordPress mediante código, sin plugins.
Varios de los suscriptores de Código Génesis venden su propios cursos online y una de las preguntas que más se repite entre ellos es cómo gestionar las lecciones de los cursos.
¿Por ejemplo?
A raíz del tutorial sobre cómo mostrar un listado con cursos y lecciones, Esther me preguntó si se puede insertar el listado de todas las lecciones al final de un curso.
Así que me puse manos a obra. 😉
Aquí tienes un tutorial para introducir un listado de lecciones creando un archivo de plantilla de WordPress.
De esta forma, cuando generas una lección nueva, insertas de forma automática el resto de lecciones de ese curso al final de la misma.
Este sería el resultado final:
¿Te interesa? Pues sigue leyendo:
Pasos para añadir un listado con las lecciones de un curso al mismo en WordPress
1. Genera el/los CPTs
Tienes dos opciones para estructurar cursos y lecciones:
- Crear un CPT jerárquico, de forma que los cursos sean los «padres» y las lecciones los «hijos».
- Generar dos CPTs, uno para «cursos» y otro para «lecciones» para luego relacionarlos entre ellos de forma jerárquica mediante un metabox.
En este caso, vas a ver cómo conseguirlo para la segunda opción, es decir, con dos CPTs relacionados.
2. Crea un fichero single-course.php
Dependiendo de qué estrategia hayas usado para crear tus CPTs, tendrás que crear un archivo de plantilla con un nombre u otro.
En el caso de 2 CPTs relacionados, el nombre será single-course.php, donde debes sustituir «course» si has utilizado otra denominación para registrar el CTP de cursos.
Nota: No debes usa el slug que le otorgues al CPT, sino el nombre con el que lo registras. Eso lo hace en la línea: register_post_type( 'course', $args );
.
Crea un archivo con este nombre en la raíz del child theme y añade el siguiente código:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Con este fragmento introduces una lista con todas la lecciones de un mismo curso al final de cada curso.
En concreto, utilizas ‘post_parent’ => $post->ID para identificar el curso padre y que muestre así a sus lecciones hijo.
Además, enganchas la función en el hook genesis_entry_footer para que se visualicen al final del contenido de la lección.
Ya lo tienes.
¿La ventaja de utilizar un archivo de plantilla en lugar de un shortcode?
Pues que, cuando añadas una nueva lección, aparecerá el listado de todas las lecciones de ese curso de forma automática, sin que tengas que hacer nada más.
Interesante, ¿verdad?
Si a pesar de todo prefieres que el código esté en formato de shortcode, puedes adaptar este snippet para ello.
Y si tienes alguna duda sobre cómo hacerlo, dímelo y preparo un tutorial a medida.
Conclusiones
Si quieres mostrar un listado de la lecciones que incluye un curso dentro de la página del curso, sin tener que añadirlas a mano ni recurrir a un plugin, ahora ya sabes cómo hacerlo mediante código.
¿Alguna duda? Te leo en los comentarios.
Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto. Ventajas de ser suscriptor. 😉
Tutoriales relacionados
- https://codigogenesis.com/mostrar-listado-cursos-lecciones-pagina-archivo-wordpress/
- https://codigogenesis.com/mostrar-listado-lecciones-curso-wordpress/
- https://codigogenesis.com/mostrar-listado-lecciones-curso-wordpress/
- https://codigogenesis.com/mostrar-listado-lecciones-curso-wordpress/
- https://codigogenesis.com/relacionar-dos-custom-post-types-wordpress/
- https://codigogenesis.com/mostrar-listado-cursos-lecciones-pagina-archivo-wordpress/