One of the main reasons we were motivated to build Saber LMS is the painful experience of editing testing content in LearnDash. You see LearnDash does have a powerful testing system, but what’s interesting is the company itself did not build it. LearnDash integrates a plugin called WP Pro Quiz. It’s really a fascinating story because WP Pro Quiz was a plugin built by a German based developer, and as far as we know he built it alone. Solo. Just how I built Saber LMS by the way, with no help and no 3rd party code. As a long-time PHP developer myself, I really appreciate the way WP Pro Quiz is structured. In fact working with WP Pro Quiz on major test preparation sites like DAT Bootcamp, made me a better developer.
The problem with WP Pro Quiz however, and this problem is inherited by LearnDash, is it’s mainly a PHP program with a really antiquated UX, and no real integration into WordPress. You see there is always the “WordPress way” to build, and then there is the “build separately and slam it into a plugin”. Developers will know what I’m talking about on this one. WP Pro Quiz doesn’t post types, doesn’t use taxonomies, and despite being one of the most complex systems in the WP ecosystem, it has about 3 hooks, all action hooks, and if I’m not mistaken 0 filters.
Going back to the UX for a moment, if you want to theme WP Pro Quiz (or the LearnDash tests) have fun. Because the main declaration the original developer of WP Pro Quiz understood was !important;. Nearly every CSS declaration ends with !important. It’s madness! But hey much love and respect to that developer because guess what, his plugin with no updates for nearly 8-years, become and continued to be the #1 stand-alone quiz system for WP. Despite being horrifically outdated in 2020, it’s still the most installed stand-alone quiz system. And then when you consider LearnDash integrates WP Pro Quiz, the WP Pro Quiz legacy will live on for years to come.