LearnDash o plugins LMS en WordPress VS CPT con custom-fields

Dificultad del post: facilmediadificil

En este post os voy a contar una historia con una reflexión y os comentaré una serie de cambios que hice a finales de 2021 al implementar LMS con WordPress.

He sido usuario de LearnDash para LMS en WordPress durante muchos años y aún lo sigo siendo.

En 2014 toqué por primera vez LearnDash para un cliente y, acostumbrado como venía a Moodle, para mí fue un cambio brutal. Estaba habituado a Moodle desde hacía años y tenía claro que Moodle tenía problemas muy graves de UX de cara al usuario final.

Además, Moodle era demasiado pesado (y lo sigue siendo) y para la implementación de ciertos proyectos, como proyectos de “exámenes”, era como matar moscas a cañonazos.

learndash vs cpt

Cuando descubrí LearnDash, los pagebuilders no eran como los actuales: no existía Elementor y el Visual Composer de ese momento aún no era compatible con muchos de los plugins comunes.

Icono suscripción Newsletter

¿Quieres
recibir mis articulos?

No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.

No obstante, ya existían themes multipurpose en ThemeForest que eran compatibles con LearnDash y traían plantillas específicas para integrar LearnDash con una buena apariencia.
Esto hacía que la solución LearnDash + Pagebuilder no fuese tan flexible como actualmente, pero era lo que había en ese momento.

learndash vs cpt

A lo largo de estos años he tocado cientos de instalaciones WordPress con LearnDash con distintas combinaciones y configuraciones.

Pero hasta 2021 llevaba unos años sin tener a nivel personal una instalación LearnDash propia, ya que en los últimos años me he alejado bastante del mundo del eLearning, a pesar de que es el sector donde empecé mi carrera profesional con 16 años.

El “problema” es que, después de 6 meses utilizando LearnDash de forma intensiva en la Academia WP Avanzado, me he dado cuenta de algo importante y me he puesto a analizar las instalaciones de algunos de mis clientes recurrentes.

Yo ya sabía que LearnDash, al final, no deja de ser un plugin que crea una serie de CPTs con custom-fields y que en base a eso nos deja mostrarlos en el front-end de una determinada forma. Pero es que me he dado cuenta de que, en el 90% de los casos, la mayoría de los LMS no necesitan un plugin de LMS como LearnDash.

Y hablo de un plugin LMS, como LearnDash, porque hay otros plugins mucho más simples que, con la solución que os voy a proponer en este post, dejan de ser soluciones eficientes por completo.

learndashvscpt3

El problema de LearnDash, Tutor LMS, Sensei LMS, LearnPress y otros plugins LMS complejos para WordPress es que tienen muchísimas funcionalidades y, para que el webmaster pueda implementarlas fácilmente, hay requisitos que hacen que la instalación WordPress completa consuma muchos recursos.

Esto es un ejemplo con LearnDash:

learndash vs cpt

LearnDash carga una serie de datos con cada visita (utilizando el parámetro autoload) guardados dentro de la tabla wp_options. El problema es que se cargan muchísimos datos que no son necesarios, ya que en la query van datos de todos los usuarios y de contenidos que no son los que se están cargando en ese preciso momento.

Esto era peor antes de LearnDash 3.5, ya que antes el impacto era mayor (sobre un 90%) porque se cargaban muchísimos más datos con cada visita y esto hacía que el servidor tardara mucho más en construir la página.

Cada plugin tiene su forma de funcionar pero, como digo siempre, en informática TODO tiene un coste de recursos y ciertas funcionalidades requieren implementaciones “difíciles”.

¿Qué alternativa tenemos sin usar un plugin LMS?

Pues aquí es a donde quiero llegar. Hay casos como el mío, donde solo utilizo LearnDash para mostrar contenido: Lecciones, Módulos, Cursos, etc., y quizás la única funcionalidad dinámica que utilizo es el botón de completar.

Para estos casos, le he estado dando vueltas y he dado con la solución: utilizar nuestros propios CPTs creados y configurados con CPT UI y usamos ACF Free (o Pro) para los custom-fields.

De esta forma, no estaremos limitados a las funcionalidades básicas del plugin LMS al plasmar la arquitectura de contenido, sino que podremos montar nosotros la estructura como queramos:

learndash vs cpt

Esta captura que estás viendo es un tipo de contenido “Proyecto completo” de mi Academia WP Avanzado, donde muestro el vídeo, la duración, las visualizaciones, el estado (para cada usuario), el timeline y los enlaces de interés. Todo esto, con campos personalizados de ACF.

Por otro lado, tenemos abajo el botón para “Completar” y el botón “Me gusta” o “Favoritos”, ambos creados usando Elementor Pro y sin programar. No diré cómo, eso me lo guardo para mis alumnos de la Academia 😉

Por otro lado, con lo que sale de esto puedo crear listados totalmente personalizados:

learndash vs cpt

Todo esto se hace sin programar nada, sino que todo está hecho con Elementor Pro, usando su Theme Builder y las funcionalidades que añaden Dynamic.ooo o e-Addons for Elementor.

¿Qué ventajas tenemos al montar así el contenido en un LMS? Pues te las voy a listar:

  • Mucha flexibilidad para estructurar el contenido como quieras: el límite está en tu imaginación.
  • Posibilidad de sacar más datos en front-end sin usar plugins específicos (como en el caso de LearnDash). Puedes mostrar los datos como quieras utilizando un maquetador avanzado como Elementor Pro.
  • Mucha libertad para implementar nuevas automatizaciones e implementaciones con plugins como AutomatorWP.
  • Posibilidades ilimitadas de integración con otros plugins e incluso servicios externos.
  • Con plugins como AutomatorWP, podríamos incluso construir un sistema de estadísticas avanzado.
  • Con condicionales no sería difícil plasmar todos los “prerrequisitos” que podemos imponer al usuario con LearnDash.
  • El consumo de recursos de PHP y MySQL por cada visita es muchísimo menor, con la consecuente ganancia en la velocidad de carga.

¿Y qué desventajas tiene esto?

Si usamos las funcionalidades más avanzadas de LearnDash o de cualquier plugin LMS avanzado esto no nos va a servir, ya que la integración para ciertas cosas puede ser bastante más compleja.

Los “exámenes” o Quiz de LearnDash podrían llegar a ser sustituidos con Gravity Forms y ciertos condicionales, pero hacerlo con LearnDash o cualquier plugin LMS es mucho más automático.

Perdemos el editor drag and drop del “Course Builder”, pero yo esto tampoco lo veo como una desventaja, ya que no me gusta nada y nunca lo he utilizado (lo implementaron en 2019 y no me acostumbré a él).

learndashvscpt9

Por otro lado, perdemos toda la parte de pago, pero es fácilmente sustituible si utilizamos un sistema de membresías como MemberPress y WooCommerce como pasarela de pago, o incluso WooCommerce Memberships, WooCommerce Suscriptions y WooCommerce. Aunque no soy muy fan de este pack, es una solución que cumple con lo que necesitamos.

En cualquier plugin de membresías podemos jugar con las reglas y los roles de usuario:

learndash vs cpt

Podemos pensar que perdemos compatibilidad, pero realmente ganamos porque existen más plugins compatibles con CPTs propios que con LearnDash o cualquiera de los otros plugins LMS para WordPress.

Bueno, para terminar, te voy a comentar varias cosas.

Evidentemente toda esta reflexión que acabo de hacer en este post es para usuarios un poco avanzados, ya que requiere algo de visión “perimetral”.

Si quieres usar LearnDash y buscas más información, aquí tengo un post para ti: https://alvarofontela.com/learndash-wordpress-elearning/

Créeme: dentro del terreno de los plugins LMS para WordPress, los he probado todos (al menos los más comunes y alguno más) y LearnDash es de los más completos en funcionalidades, pero también es de los más compatibles.

Por otro lado, si no sabes de qué hablo cuando explico cosas sobre CPTs y ACF, te dejo este post sobre los tipos de contenido personalizados que creo que te va a gustar: https://alvarofontela.com/acf-cpt-ui-custom-fields-custom-posts-wordpress/
Si quieres ir más allá, en mi Academia tengo lecciones completas sobre cómo crear cosas chulas utilizando tipos de contenido personalizado: https://alvarofontela.com/academia-wp-avanzado/

Esto también es aplicable a la construcción de elementos avanzados utilizando Elementor Pro y Dynamic.ooo, una combinación con la que se puede hacer de todo.

Icono suscripción Newsletter

¿Quieres
recibir mis articulos?

No te pierdas todos mis trucos para WordPress, CMS, Marketing Digital y WPO.

Tal vez te interese...

Álvaro Fontela
Álvaro Fontela
Soy ponente en eventos de marketing digital, consultor WordPress y co-fundador de Raiola Networks, amante del mundo del motor (coches japoneses) y tecnófilo empedernido.
Álvaro Fontela
Álvaro Fontela
Soy ponente en eventos de marketing digital, consultor WordPress y co-fundador de Raiola Networks, amante del mundo del motor (coches japoneses) y tecnófilo empedernido.

2 comentarios

  1. Hola Álvaro, nombras dynamic.ooo pero entiendo que otros plugins como el pack crocoblock serían también válidos. Además con crocoblocl sino me equivoco, puedes crear cpt y custom fields, no? Gracias por la reflexión.

    1. Hola Lucas, efectivamente, el stack de Crocoblock te serviría para la mayoría de cosas. Dynamic no es igual a Crocoblock, pero se solapan algunas funciones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Artículos destacados

wp-config.php de WordPress

Copias de seguridad en WordPress

WebP en WordPress

Optimizar la carga de JavaScript y CSS en WordPress

wp-cron.php de WordPress

Desinfectar un WordPress hackeado

Compartir en twitter
Compartir en facebook
Compartir en linkedin

Alvaro Fontela
Consultor WordPress especializado en WPO y rendimiento web; CEO y co-fundador de Raiola Networks.

¡Puedes encontrarme en redes sociales!

¿Te gusta mi blog?

Si quieres recibir mis últimos artículos en tu email, suscríbete a mi lista de correo y te enviaré semanalmente mis últimos contenidos.

RESPONSABLE:

RAIOLA NETWORKS, S.L.

C.I.F.: B27453489

Avda de Magoi, 66, Semisótano, Dcha., 27002 Lugo (Lugo)

Telefono: +34 982776081

e-mail: info@raiolanetworks.es

FINALIDAD:Atender solicitudes de información, ejecución de la contratación de servicios y remisión de comunicaciones comerciales.
LEGITIMACIÓN:Consentimiento del interesado y contratación de productos y/o servicios del Responsable
DESTINATARIOS:

No se ceden datos a terceros, salvo obligación legal.

Personas físicas o jurídicas directamente relacionadas con el Responsable

Encargados de Tratamiento adheridos al Privacy Shield

DERECHOS:Acceder, rectificar y suprimir los datos, portabilidad de los datos, limitación u oposición a su tratamiento, derecho a no ser objeto de decisiones automatizadas, así como a obtener información clara y transparente sobre el tratamiento de sus datos.
INFORMACIÓN ADICIONAL:Se puede consultar la política de privacidad de forma más detallada aquí.