forked from gocodebox/lifterlms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme.txt
987 lines (710 loc) · 68.4 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
=== LifterLMS - WordPress LMS Plugin ===
Contributors: thomasplevy, chrisbadgett, d4z_c0nf, pondermatic, nrherron, lifterlms, codeboxllc
Donate link: https://lifterlms.com/
Tags: learning management system, LMS, membership, elearning, online courses, quizzes, sell courses, badges, gamification, learning, Lifter, LifterLMS
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Requires at least: 5.6
Tested up to: 6.0
Requires PHP: 7.4
Stable tag: 6.9.0
LifterLMS is a powerful WordPress learning management system plugin that makes it easy to create, sell, and protect engaging online courses and training based membership websites.
== Description ==
[WordPress LMS plugin][home] - **LifterLMS is a powerful WordPress LMS plugin for WordPress that makes it easy to create, sell, and protect engaging online courses and training based membership websites.** LifterLMS is a complete WordPress LMS plugin, course building and LMS solution that works with any well-coded WordPress theme, modern WordPress blocks, and all the popular WordPress page builders (like Elementor, Beaver Builder, Divi, Gutenberg, etc.). As an engaged WordPress community member, LifterLMS actively encourages and helps other great plugins integrate with LifterLMS like Affiliate WP, Monster Insights, WP Fusion, the most popular form plugins, GamiPress, Astra Pro, the Course Scheduler, and many more. You can also connect your WordPress LMS website to 1,500+ other apps via Zapier. LifterLMS is one of only 11 WordPress plugins listed in the Zapier app directory.
As an innovative self-hosted WordPress LMS platfom solution LifterLMS strikes a beautiful balance in being an **all-in-one WordPress LMS solution** while also integrating with other best of breed technologies relevant to course creators and membership site owners.
https://www.youtube.com/watch?v=jDVvkipF_pg
> **Similar to WooCommerce and WordPress**, As a WordPress LMS plugin, LifterLMS gives back to the open source WordPress community by contributing the core LifterLMS plugin for FREE for the world to benefit from. The core LMS incredibly powerful and customizable by itself with it's course building, membership, gamification system, and more. We believe in free distributed learning for all, and our core free open source WordPress LMS plugin helps further tha vision **LifterLMS exists to democratize education in the digital classroom.**
> **At it's core LifterLMS exists to lift up others through education.**
You do NOT need a separate ecommerce or membership plugin made by a different company to use LifterLMS! All that and more is included with LifterLMS so you can **avoid the "Software Frankenstein" problem** (too many plugins made by different companies that don't work well together have different levels of support). LifterLMS combines LMS features, course building, membership features, ecommerce feautures, and engagement features into one powerful LMS platform tool.
LifterLMS is also known for having a thriving well supported LMS user community through active listening, social engagement, a course library and robust documentation. As a feature complete LMS solution, LifterLMS invests heavily in support and it's industry leading customer success program. LifterLMS doesn't just provide LMS software. LifterLMS builds community and invest heavily in supporting the community of LMS site builders.
LifterLMS uses it's own product to create a helpful course library to help the course building community learn. A company should use it's own software beyond simple demos. Course creation software made by course builders!
***
> We encourage you to get to know the team of online course building experts behind the WordPress LMS plugin by signing up for a **[$1 temporary _30 Day_ website][try]** on our servers with the core LifterLMS plugin AND all the premium LMS add-ons installed. This LMS demo site allows you to test drive the core LMS & all the add-ons before you invest. You can practice creating an online course with LifterLMS's industry leading course builder. Or simply take a course yourself on your demo site to test the course experience out for yourself. You can even add your other favorite plugins & themes to your demo site so you can see them in action together with the LMS.
> Are you ready to **[Try LifterLMS for $1][try]?** 🚀
***
You'll see why so many people like you are starting with or switching from another WordPress LMS or hosted platform to [LifterLMS][Home] for online course creation, membership sites, and remote schools.
# **Who Uses LifterLMS?**
+ **WordPress Freelancers**
+ **WordPress Agencies**
+ **WordPress Educators** like Shawn Hesketh at [WP101](https://www.wp101.com)
+ IT Departments
+ Marketing Agencies
+ Entrepreneurs
+ CEU Publishers
+ Schools
+ Organizations
+ Governments
+ Enterprise Companies
+ DIY (Do It Yourself course creators, coaches, and entrepreneurs)
+ Instructional Designers
+ WordPress LMS Industry professionals
https://www.youtube.com/watch?v=RnZflrWG5YQ
# **What Types of People Use LifterLMS for their WordPress LMS?**
#### **1) Builders**
The WordPress developers, designers & IT pros who build LMS websites and training portals for clients, employers & themselves
#### **2) Starters**
Do-it-yourself innovators who are looking to create high value online courses, coaching or training based membership websites with a WordPress LMS
#### **3) Switchers**
People who have outgrown a hosted LMS platform or an incomplete WordPress LMS stack looking for more power, control and better support
# **Who Makes The Best WordPress LMS Plugin LifterLMS?**
The LifterLMS team is a **diverse group of talented course creators, developers, designers, marketers and entrepreneurs**. Before developing the LifterLMS product we consulted and built custom WWordPress LMS style training based membership sites for clients all over the world. It was through many years experience building high end custom WordPress LMS websites for the expert industry, that the LifterLMS project was born.
Because 5 years ago we couldn't find a WordPress LMS plugin that provided a rock solid _all-in-one_ foundation for online course based LMS style training based membership websites, we decided to build LifterLMS and **contribute the core plugin to you and the WordPress community**.
> LifterLMS is WordPress LMS, course & membership creation software built by course creators and a talented technical team. We understand WordPress, ecommerce, eLearning, course creation, engagement, gamification, conversion optimization, the website building industry, the LMS industry, and the needs of the online teacher coach, and training professional.
You can learn more about **[the people behind LifterLMS here][team]**.
# **LifterLMS WordPress LMS By The Numbers ...**
+ 4,348,041 Course Enrollments powered by LifterLMS
+ 6,570,731 Course and lesson completions powered by LifterLMS
+ 86,807 Achievement badges awarded by LifterLMS
+ 120,728 Certificates awarded by LifterLMS
+ Over 10,000 active installs of the WordPress LMS plugin
+ [181 5 star reviews](https://wordpress.org/support/plugin/lifterlms/reviews/?filter=5)
# **[LifterLMS Features][features]**
> _Start with our core free WordPress LMS plugin and [scale-up][price] as your business grows!_
#### **Make Money Building an Education-Based Business**
_LifterLMS plus one payment gateway like [Stripe][stripe] or [PayPal][pp] is powerful enough to get you started on your LMS website journey!_
+ Credit card payments
+ One-time payments
+ Recurring payments
+ Payment plans
+ Unlimited course and membership pricing models
+ PayPal
+ Subscriptions
+ Checkout
+ Free courses
+ Course bundles
+ Private coaching upsells
+ Course and membership Coupons
+ Bulk course and membership sales
+ Affiliate ready
+ Native course and membership sales pages
+ Offline course and membership sales
+ Customizable course and membership enrollment
+ Country and currency
+ E-commerce dashboard
+ Credit card management
+ Subscription switching
+ Payment switching
+ Native Zapier integration
#### **Create Courses on Your WordPress LMS Website**
+ Course multimedia lessons
+ Course quizzes
+ Course builder
+ Drip Content
+ Course and lesson pre-requisites
+ Course tracks
+ Course assignments
+ Quiz time limits
+ Student dashboard
+ Multi-instructor courses
+ Lesson downloads
+ Course import & export
+ Discussion areas
+ Instructional design
+ Forum integrations
+ Graphics pack
+ Course reviews
+ Group enrollments for courses and memberships
#### **Engage Your Students**
+ Achievement badges
+ Certificates
+ Personalized email
+ Social learning
+ Private coaching
+ Text messaging
#### **Offer Memberships**
+ Sitewide membership
+ Course bundles
+ Traditional memberships
+ Automatic course enrollment
+ Bulk course enrollment
+ Content restrictions outside of a course
+ Members-only payment plans
+ Private group discussions
+ Members-only forums
#### **Integrate your WordPress LMS with the Tools You Need**
+ Payment gateways
+ Email marketing
+ Forums
+ Mobile friendly
+ Use any theme or page builder
+ Built for compatibility
+ CRMs
+ E-learning authoring tools
+ Tin Can API (xAPI)
#### **Secure and Protect Your Content**
+ Course protection
+ User account management and registration
+ Members only content
+ Course only content
+ Restricted access
+ Password management
+ Self-hosted
#### **Own and Manage Your WordPress LMS Platform**
+ Detailed course, membership, ecommerce, and student reporting
+ Course gradebook
+ Email notifications
+ Bulk course and membership enrollments
+ Student management
+ Course and membership access management
+ Web design management
+ Branding & typography
+ WordPress LMS User Roles
+ Security
+ Require terms
+ Scalable
+ Layout
+ Testing tools
#### **Get Support For Your WordPress LMS Project**
+ Technical support
+ 30 Days of live weekly onboarding calls called [Liftoff Sessions][lift]
+ [Live office hours][oh]
+ [Free training courses][aca]
+ [Free training webinars][webinar]
+ Setup wizard
+ [Detailed documentation][docs]
+ Dynamic resources
+ Demo course
+ System analyzer
+ User community
+ [REST API](https://developer.lifterlms.com/rest-api/)
+ [Developer ecosystem][devblog]
+ [Recommended Resources][resources] for course creators
#### **Further WordPress LMS Reading**
+ The [LifterLMS Official Homepage][home]
+ The [LifterLMS Knowledge base][docs]
+ The [LifterLMS Blog][blog]
+ The [LifterLMS Podcast][podcast]
+ The [LifterLMS Academy][aca]
+ The [LifterLMS Developer Blog][devblog]
# **Extend and Enhance Your LMS with LifterLMS Add-ons**
#### **Advanced**
_Increase your LMS website and it's training program's value with these engagement add-ons_
+ [LifterLMS Advanced Quizzes][aq]
+ [LifterLMS Assignments][ass]
+ [LifterLMS Private Areas][pa]
+ [LifterLMS Social Learning][sl]
+ [LifterLMS Advanced Video][av]
+ [LifterLMS Custom Fields][cf]
+ [LifterLMS Groups][gr]
+ [LifterLMS PDFs][pdf]
#### **Integrations**
_Integrate your LMS with the third-party tools you know and love_
+ [LifterLMS Stripe][stripe]
+ [LifterLMS PayPal][pp]
+ [LifterLMS Authorize.Net][anet]
+ [LifterLMS WooCommerce][wc]
+ [LifterLMS ConvertKit][ck]
+ [LifterLMS MailChimp][mc]
#### **LMS Website and User Experience Design Tools**
_Make your online course creations and WordPress LMS platform beautiful_
+ [LifterLMS Powerpack][pro]
+ [LifterLMS LaunchPad Theme][lp]
#### **Support**
_**Our world-class LMS software support has your back** and all of our paid products include priority private support with the LifterLMS support team_
+ LifterLMS Support Ticket System, ready for any question you have about your LMS
+ Liftoff Sessions access with live screensharing to help you get started with the LMS software
+ [LifterLMS Office Hours][oh] is weekly Mastermind group hosted by LifterLMS CEO Chris Badgett and special guests
#### **Save Big on your WordPress LMS with a Bundle**
_Save money while unlocking the full potential of your course building and LMS platform_
+ Level up your online course LMS website with our ecommerce, design, marketing technology, and automation tools with the [Universe Bundle][universe]
+ Add even more engagement and student transformation potential to your immersive training programs with our entire suite of products including advanced features used by the best teachers, experts, and coaches with the [Infinity Bundle][infinity]
# **Give The Best WordPress LMS Plugin LifterLMS a Try**
_There are many ways to take LifterLMS for a test drive before commiting to the WordPress LMS_
+ Go ahead and install the free core LifterLMS plugin right now. The free core WordPress LMS plugin is very powerful and customizable.
+ Get a temporary _30 Day_ website on our servers with the core LifterLMS plugin AND all the premium add-ons installed. This demo website allows you to test drive all the LMS add-ons before you invest. You can also practice creating an online course from scratch and test out the learner experience by enrolling yourself in a course on your demo site. You can even add your other favorite plugins & themes, but this demo site is not something you get to keep after the 30 days are over. **[Try LifterLMS for $1][try]** now.
+ Another way to test LifterLMS out is to see what the student experience is like. Take a **free** course on how to build a LifterLMS website in 20 minutes. [Take a Free Course][demo] now.
# **Scaling LifterLMS From A Simple Online Course...**
LifterLMS is incredibly flexible, customizable and scalable. It can be used for a simple one course website, and it can also be used as course marketplace or multi instructor online school. LifterLMS can handle small sites with low course enrollments, and it's also used in large universities and inside fortune 500 corporations for employee training.
Unlike hosted LMS software where you would pay monthly for access and pay more as your platform grows, LifterLMS does not charge you more per course. LifterLMS also does not charge you more per instructor or per student or based on your revenue.
Some LifterLMS websites are small in terms of course and membership enrollments by design. Some are quite large in the hundreds of thousand of course enrollments. The largest site we know about has 734,415 course enrollments.
Wether you are going big or keeping it small, LifterLMS can scale to your needs for your online course, membership site, training portal, or remote school.
# **What Others Are Saying About LifterLMS for Course Building, Membership Sites, and Remote Schools...**
> _"I've used a number of course creation and delivery platforms over the years. And they were all fine… right up to the day when they weren't. The trouble is, they all want you to package and manage your course the way THEY think you should do it. THEIR feature set. THEIR way to do it. **Now I host all my courses on LifterLMS. TOTALLY different experience, because I'm free to do things MY way. I've never yet hit a wall where LifterLMS didn't enable me to do things the way I wanted.** Love it! Great support and community too."_
> _**Nick Usborne**, Teacher, Entrepreneur_
***
> _“**WP101.com serves more than 30,000 members**, so it’s no small challenge to migrate to a new membership plugin. **We spent more than a year carefully evaluating dozens of LMS and membership plugins before we finally discovered LifterLMS (a membership plugin and LMS plugin combined into one). It was the only plugin that checked all the boxes for our needs for course creation and membership functionality.** And the LifterLMS team also shares our passion for creating better online learning experiences. In particular, we deeply resonate with their goal of restoring the human touch to online learning—something that is absent from most online courses today.”_
> _**Shawn Hesketh**, Owner, WP101_
***
> _"As a former School Teacher, professional User Experience Designer, and current online course creator – I can honestly attribute much of our success to LifterLMS and it’s consideration for multiple learning modalities, the LMS UI/UX out of the box, and natural student Engagement opportunities. **In less than 10 months we’ve gone from $0 to $300K in revenue with LifterLMS** playing a huge part in that!! I’m looking forward to everything that comes next from the creators of LifterLMS!!"_
> _**Sarah Lorenzen**, Teacher, Entrepreneur_
***
> _"LifterLMS has been **the best decision we have made** towards the build out of our course library, online Learning Management System site, and community. The breadth and depth of what LifterLMS offers in a few WordPress plugins exceeds anything else we evaluated as it includes: easy course construction, integrated eCommerce, community capabilities, gamification and the support for delivery of 1-on-1 coaching collaboration services. Lifter also has pre-built integrations with other key WordPress technologies we wanted to use. LifterLMS has attracted a solid community and support network of leading experts to help guide anyone who wants to transform the world or their industry with online training. **Chris and the Lifter team are real people, and they care**."_
> _**Michael Wolf**, CEO, emPowering NOW LLC (Golden XPR)_
***
> _"I bought/installed LifterLMS yesterday then spent the day having a blast! Two years ago I started writing a book, which morphed into wanting to present the material online in a more interactive way. I started my website from scratch in January and installing the WordPress LMS plugin was a milestone moment! A milestone moment that turned out to be one joy right after the other! I'm always amazed when something is made easy! The LifterLMS product is amazing!! Power to the people! **Really quite extraordinary to have something so helpful be able to be in the hands of regular folk**."_
> _**Margot Worthy**, Author, Teacher_
# **LifterLMS in Action**
+ [Success Stories][case] — Discover these amazing stories and accomplishments from our community of WordPress LMS website builders.
+ [Showcase][sho] — Check out these WordPress LMS websites using LifterLMS
# **Join Our Growing Community of Course Builders, Membership Site Owners, and WordPress LMS Professionals**
> When you download LifterLMS, you **join a thriving community** of education entrepreneurs, course creators, developers, LMS professionals, and WordPress enthusiasts. We’re one of the fastest growing open source eLearning communities online, and you are welcome here in our LMS community.
If you’re interested in contributing to LifterLMS, head over to the [LifterLMS GitHub Repository][git] to find out how you can pitch in on the open source WordPress LMS software.
Want to add a new language to LifterLMS? Swell! You can contribute language translations to the LMS at [translate.wordpress.org][translate].
Also I'd like to invite you to the [LifterLMS VIP Facebook group][facebook] so you can check out what other LifterLMS users and course creators are up to and ask questions to the LMS website building community. We also have an engaged [LifterLMS Slack community][slack] with live developer office hours if you would like to connect in Slack.
**The mission of LifterLMS is to democratize education in the digital classroom. Our vision is to lift up others through education.**
We invite you to **let us guide you to a successful training platform** through our WordPress LMS technology, course library, and support systems. We want you to avoid the common online course & general LMS website building mistakes, avoid the Software Frankenstein problem, and NOT waste any time bringing your WordPress LMS website to life.
> LifterLMS helps you **ACCELERATE**.
# **Here's What I'd Like You To Do Next ...**
Install the free LifterLMS plugin on your website from here on WordPress, then ...
**[Try out all the premium WordPress LMS add-ons for $1 by signing up >>HERE<<][try]**
🚀
[home]: https://lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[price]: https://lifterlms.com/pricing/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[docs]: https://lifterlms.com/docs/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[blog]: http://blog.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[devblog]: https://make.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[podcast]: http://podcast.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[git]: https://github.com/gocodebox/lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[demo]: https://demo.lifterlms.com/course/how-to-build-a-learning-management-system-with-lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[translate]: https://translate.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[facebook]: https://www.facebook.com/groups/lifterlmsvip/
[slack]: https://join.slack.com/t/lifterlms/shared_invite/enQtMzk3ODczNjc4Mjc3LTBlMmEzMWYyOTIwMDU3NDc2MmRhNGIxNGE0Nzc1OWIxZjg1OGVhM2E5YTkwYzZmMmM1ZTU4MDQxYjVlZDYyZTE
[sho]: https://lifterlms.com/showcase/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[case]: https://lifterlms.com/success/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[lift]: https://blog.lifterlms.com/liftoff/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[aca]: https://academy.lifterlms.com/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[resources]: https://lifterlms.com/recommended-resources/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[team]: https://lifterlms.com/our-team/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[webinar]: https://lifterlms.com/lifterlms-webinars/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[anet]: https://lifterlms.com/product/authorize-net/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[aq]: https://lifterlms.com/product/advanced-quizzes//?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[ass]: https://lifterlms.com/product/lifterlms-assignments//?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[av]: https://lifterlms.com/product/advanced-video/?utm_source=LifterLMS%20Plugin&utm_medium=Readme&utm_campaign=Readme%20to%20Sale
[dfy]: https://lifterlms.com/dfy/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[cf]: https://lifterlms.com/product/custom-fields/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[ck]: https://lifterlms.com/product/lifterlms-convertkit/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[gr]: https://lifterlms.com/product/groups/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[infinity]: https://lifterlms.com/product/infinity-bundle/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[lp]: https://lifterlms.com/product/launchpad/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[mc]: https://lifterlms.com/product/mailchimp-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[oh]: https://lifterlms.com/product/office-hours/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pa]: https://lifterlms.com/product/private-areas/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pdf]: https://lifterlms.com/product/lifterlms-pdfs/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pp]: https://lifterlms.com/product/paypal-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[pro]: https://lifterlms.com/product/lifterlms-pro/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[sl]: https://lifterlms.com/product/social-learning/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[stripe]: https://lifterlms.com/product/stripe-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[try]: https://lifterlms.com/product/try/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[universe]: https://lifterlms.com/product/universe-bundle/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[wc]: https://lifterlms.com/product/woocommerce-extension/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[features]: https://lifterlms.com/features/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-lms]: https://lifterlms.com/features/lms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-ecomm]: https://lifterlms.com/features/e-commerce/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-membership]: https://lifterlms.com/features/membership/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
[feature-engagement]: https://lifterlms.com/features/engagement/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale
<!-- Test Auto deployment -->
== Installation ==
#### Minimum System Requirements
LifterLMS Requires
+ PHP 7.4 or later
+ WordPress 5.6 or later
+ MySQL 5.6 or later
Visit our [full system requirements](https://lifterlms.com/docs/minimum-system-requirements-lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale) for additional information.
#### Automatic Installation
This is the simplest way to install LifterLMS as it utilizes WordPress to handle file transfers and you never need to leave the web browser or admin panel.
1. Log in to your WordPress dashboard.
2. Navigate to Plugins -> Add New
3. In the search field type "LifterLMS" and click "Search Plugins"
4. Once you've located LifterLMS click "Install Now"
5. Once installation is complete, click "Activate"
#### Manual Installation
To manually install LifterLMS you'll need to download the zip file using the "Download" link on this screen. You'll then need to use FTP to manually upload the files to the proper directory on your webserver.
Please see this [WordPress Codex document](https://codex.wordpress.org/Managing_Plugins#Manual_Plugin_Installation) for full instruction on Manual Plugin Installation.
#### Setup Wizard
After installing LifterLMS for the first time you will be redirected to the Setup Wizard. This wizard will walk quickly configure LifterLMS so you can get to course creating as quickly as possible. At the conclusion you'll have the option to import a sample course.
You can return to the setup wizard at any time by following [these steps](https://lifterlms.com/docs/rerun-lifterlms-setup-wizard/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
== Frequently Asked Questions ==
#### Where do I buy LifterLMS add-ons or bundles?
You can explore the individual add-ons [here](https://lifterlms.com/store/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale) or save BIG with a [bundle](https://lifterlms.com/product-category/bundles/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale)
#### Are there any troubleshooting steps you'd suggest I try that might resolve my issue before I post a new thread?
First, make sure that you're running the latest version of LifterLMS. And if you've got any other LifterLMS extensions or themes, make sure those are running the most current version as well.
The most common issues we see are either plugin conflicts, theme conflicts, or outdated servers. You can test if a plugin or theme is conflicting by manually deactivating other plugins until just LifterLMS is running on your site. If the issue persists from there, revert to the default Twenty Fifteen theme. If the issue is resolved after deactivating a specific plugin or your theme, you'll know that is the source of the conflict. If it is a hosting issue, contact your web host and make sure they’re running the most current version of PHP.
Also be sure to check out the official LifterLMS [Knowledge Base](https://lifterlms.com/docs/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### I'm still stuck. Where do I go to file a bug or ask a question?
Users of the free LifterLMS should post their questions in the plugin's WordPress.org forum. If you find you're not getting support in as timely a fashion as you wish, you might want to consider [purchasing a product from LifterLMS](https://lifterlms.com/pricing/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale) so you can access the LifterLMS support team.
If you're already a LifterLMS customer, you can simply log into your account and contact the support team directly on the [LifterLMS website](https://lifterlms.com/my-account/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale). We can provide a deeper level of support in there and address your needs on a daily basis during the work week. Generally, except in times of increased support loads, we reply to all comments within 12 business hours.
#### LifterLMS is awesome! Can you set it all up for me?
LifterLMS offers technical support, but we do not offer custom website development services. However, we do recommend third party LifterLMS Experts who can help with web design, web development, instructional design or marketing for a fee. Click here to visit the [LifterLMS Experts page](https://lifterlms.com/experts/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### I'm interested in LifterLMS add-ons, but there are a few questions I've got before making the purchase. Can you help me get those addressed?
Absolutely. If you're not finding your questions answered on the product pages, you can ask your presales questions through this [contact form](https://lifterlms.com/contact/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale). You can also connect live with a member of our team [here](https://lifterlms.com/contact/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### What add-ons are available for LifterLMS, and where can I read more about them?
You can find a full list of official LifterLMS Add-ons [here](https://lifterlms.com/store/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale)
#### I have a feature idea. What's the best way to tell you about it?
We care about your feature ideas and what you have to say. You can [request a feature](https://lifterlms.com/contact/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale), [vote on existing feature requests](?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale), and checkout the [product roadmap](https://lifterlms.com/roadmap/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale).
#### I still have questions. Where can I find answers?
Be sure you’ve taken the free tutorial training video course: [How to Create an Online Course with LifterLMS](http://demo.lifterlms.com/course/how-to-build-a-learning-management-system-with-lifterlms/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale). We also encourage you to get to know us by signing up for a $1 temporary _30 Day_ website on our servers which comes with the core LifterLMS plugin all our add-ons intalled. This demo allows you to test drive all the add-ons before you invest. Check it out here: **[Try LifterLMS for $1](https://lifterlms.com/product/try/?utm_source=LifterLMS%20Plugin&utm_medium=README&utm_campaign=Readme%20to%20Sale)**.
#### I'm interested in contributing to LifterLMS, how can I start?
LifterLMS is an open-source project. We manage our team, developers, issues, and code on [GitHub](https://github.com/gocodebox/lifterlms/).
We welcome contributions of all kinds, anyone can contribute even if you don't write code! Check out our [Contributor's Guidelines](https://github.com/gocodebox/lifterlms/blob/master/.github/CONTRIBUTING.md) to get started.
#### I found a security vulnerability or issue, how can I report it to the team?
The LifterLMS team takes security issues and vulnerabilities very seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
Please contact team@lifterlms.com to report a security vulnerability.
You can review our full security policy at [https://lifterlms.com/security-policy](https://lifterlms.com/security-policy).
== Screenshots ==
1. LifterLMS Courses
2. LifterLMS Pricing Tables
3. LifterLMS Checkout
4. LifterLMS Lessons
5. LifterLMS Achievement Earned
6. LifterLMS Achievement Badges
7. LifterLMS Quiz Results
8. LifterLMS Student Dashboard
9. LifterLMS Certificates
10. LifterLMS Sales Reporting
11. LifterLMS Student Reporting
12. LifterLMS Enrollment Reporting
13. LifterLMS Sidebar Widgets
14. LifterLMS Subscription Management
15. LifterLMS Settings
16. LifterLMS Course Builder
17. LifterLMS Lesson Settings
18. LifterLMS Engagements
19. LifterLMS Email Engagements
20. LifterLMS Course Access Plans
21. LifterLMS Update Upcoming Order Details
22. LifterLMS Lock Down Non LMS Content with Memberships
23. LifterLMS Membership Course Bundles and Auto Enrollment
24. LifterLMS Business to Business Bulk Enrollment Activations with Vouchers
== Changelog ==
= v6.9.0 - 2022-07-28 =
##### Updates and Enhancements
+ Removed site-wide font-weight styles targeting `<h1>` through `<h6>` elements. [#2217](https://github.com/gocodebox/lifterlms/issues/2217)
##### Bug Fixes
+ Fixed issue preventing decimals from being used for coupon discount amounts. [#2149](https://github.com/gocodebox/lifterlms/issues/2149)
+ Added AR (Arezzo) to Italy's states list. [#2214](https://github.com/gocodebox/lifterlms/issues/2214)
= v6.8.0 - 2022-07-12 =
##### Bug Fixes
+ Fixed Hello Theme's word-break and spacing for quiz answer options. [#2132](https://github.com/gocodebox/lifterlms/issues/2132)
+ Fixed text/label alignment in Twenty-Twenty-Two theme.
+ Fixed regression introduced in version 6.3.0 which prevented the Courses nav item from being customized in the BuddyPress profile nav menu. [#2142](https://github.com/gocodebox/lifterlms/issues/2142)
##### Developer Notes
+ Added new filter `llms_product_get_restrictions` hook to filter the list of restrictions placed on a given product. [#2201](https://github.com/gocodebox/lifterlms/issues/2201)
= v6.7.0 - 2022-06-09 =
##### Updates and Enhancements
+ Update LifterLMS Blocks to [v2.4.3](https://make.lifterlms.com/2022/06/09/lifterlms-blocks-version-2-4-3/).
+ Upgraded Action Scheduler to [v3.4.1](https://github.com/woocommerce/action-scheduler/releases/tag/3.4.1).
+ Upgraded Action Scheduler to [v3.4.2](https://github.com/woocommerce/action-scheduler/releases/tag/3.4.2).
##### Bug Fixes
+ Fixed a fatal error on PHP 8+ when restoring a post type from revision. [#2164](https://github.com/gocodebox/lifterlms/issues/2164)
= v6.6.0 - 2022-05-23 =
##### PHP Minimum Required Version Change
+ **Raised the minimum supported PHP version to 7.4.**
##### WordPress Minimum Required Version Change
+ **Raised the minimum supported WordPress core version to 5.6.**
##### New Features
+ Added support for WordPress 6.0.
##### Bug Fixes
+ Fixed the ability for 3rd party plugins to use the `lifterlms_external_engagement_handler_arguments` and `lifterlms_external_engagement_query_arguments` filters.
+ Added automatic exclusion of "no cache" pages from the WP Engine server-side cache when using "pretty" permalinks. [#1717](https://github.com/gocodebox/lifterlms/issues/1717)
+ Stop subtracting LifterLMS order note comments from global comment counts via the `wp_count_comments` filter on WordPress 6.0 and later. See related WordPress Trac ticket [#19901](https://core.trac.wordpress.org/ticket/19901)
= v6.5.0 - 2022-05-11 =
##### Upcoming PHP Version Requirement Change
**This will be the last version of LifterLMS to support PHP 7.3. The next version of LifterLMS, expected before the end of May 2022, will raise the minimum supported PHP version to 7.4. PHP 7.3 reached its official [end of life](https://www.php.net/eol.php) on December 6, 2021. If you are still using PHP 7.3 please upgrade to PHP 7.4 or later as soon as possible.**
##### Updates and Enhancements
+ Updates LifterLMS Rest to [v1.0.0-beta.25](https://make.lifterlms.com/2022/05/11/lifterlms-rest-api-version-1-0-0-beta-25/).
##### Bug Fixes
+ Students who have already completed a lesson will now automatically bypass the lesson's drip restrictions. [#1835](https://github.com/gocodebox/lifterlms/issues/1835)
+ Properly encode certificate JS localization data. [#2140](https://github.com/gocodebox/lifterlms/issues/2140)
##### Developer Notes
+ Added a new filter, `llms_lesson_drip_bypass_if_completed`, which controls the automatic bypass of drip restrictions for completed lessons. [#1835](https://github.com/gocodebox/lifterlms/issues/1835)
+ Allow avoiding error return when updating an `LLMS_Post_Model` post meta with the same value as the one stored in the database. [#909](https://github.com/gocodebox/lifterlms/issues/909)
= v6.4.0 - 2022-04-19 =
##### Upcoming PHP Version Requirement Change
**LifterLMS will drop support for PHP 7.3 by May, 2022. This will raise the minimum supported PHP version to 7.4. PHP 7.3 reached its official [end of life](https://www.php.net/eol.php) on December 6, 2021. If you are still using PHP 7.3 please upgrade to PHP 7.4 or later as soon as possible.**
##### New Features
+ Any "secure" payment gateway options will be automatically masked when written to debug log files.
##### Updates and Enhancements
+ When building notification content, only parse merge codes used in the notification. [#1465](https://github.com/gocodebox/lifterlms/issues/1465)
+ Improved checks related to the number of quiz attempts allowed for each student.
+ Prevent browser page caching on quizzes. [#2092](https://github.com/gocodebox/lifterlms/issues/2092)
##### Bug Fixes
+ Allowed classes extended from the manual payment gateway class to display payment instructions.
+ Allowed the `LLMS_Shortcode_User_Info` class to be filtered by the `llms_load_shortcodes` and `llms_load_shortcode_path` hooks.
+ Stop using the deprecated `FILTER_SANITIZE_STRING` constant.
+ Fixed an issue that caused shortcodes to not be replaced in some engagement emails. [#2070](https://github.com/gocodebox/lifterlms/issues/2070)
+ Improve core forms detection so to exclude duplicates. [#2052](https://github.com/gocodebox/lifterlms/issues/2052)
+ Added Aosta (AO) to the list of Italian provinces. [#2098](https://github.com/gocodebox/lifterlms/issues/2098)
+ Fixed a compatibility issue with the Elementor Pro Theme Builder encountered on course and membership catalogs. [#2111](https://github.com/gocodebox/lifterlms/issues/2111)
+ Fixed an issue where merge codes in reusable blocks on certificate templates were not replaced when the template was displayed or when the certificate was awarded and published. [#2058](https://github.com/gocodebox/lifterlms/issues/2058)
+ Fixed an issue with OceanWP and Twenty Twenty themes where the Terms and Conditions checkbox was displayed incorrectly. [#1938](https://github.com/gocodebox/lifterlms/issues/1938)
##### Developer Notes
+ Added a new filter, `llms_secure_strings` allowing developers to register strings that should be automatically masked when written to log files.
+ Added new filter `llms_no_cache` to control whether or not LifterLMS will send nocache headers. [#2092](https://github.com/gocodebox/lifterlms/issues/2092)
+ Added new filter `llms_template_loader_restricted_priority` to control the priority of the `template_include` hook callback used to load restricted content single templates.
= v6.3.0 - 2022-04-07 =
##### Upcoming PHP Version Requirement Change
**LifterLMS will drop support for PHP 7.3 by May, 2022. This will raise the minimum supported PHP version to 7.4. PHP 7.3 reached its official [end of life](https://www.php.net/eol.php) on December 6, 2021. If you are still using PHP 7.3 please upgrade to PHP 7.4 or later as soon as possible.**
##### New Features
+ Automatically add student's dashboard endpoints to the BuddyPress profile nav. [#627](https://github.com/gocodebox/lifterlms/issues/627)
##### Updates and Enhancements
+ Upgraded LifterLMS Blocks to [v2.4.2](https://make.lifterlms.com/2022/04/07/lifterlms-blocks-version-2-4-2/).
+ Updated LifterLMS Helper to [v3.4.2](https://make.lifterlms.com/2022/04/01/lifterlms-helper-version-3-4-2/).
##### Bug Fixes
+ Fixed paged queries in student dashboard not working when using plain permalinks.
+ Fixed an issue that prevented searching students in some admin areas when WordPress was installed in a subdirectory. [#2096](https://github.com/gocodebox/lifterlms/issues/2096)
+ Fixed lesson's comments status not reflecting default global setting when created with the course builder. [#2099](https://github.com/gocodebox/lifterlms/issues/2099)
##### Deprecations
+ Deprecated `LLMS_Integration_Buddypress::achievements_screen()` method with no replacement.
+ Deprecated `LLMS_Integration_Buddypress::certificates_screen()` method with no replacement.
+ Deprecated `LLMS_Integration_Buddypress::courses_screen()` method with no replacement.
+ Deprecated `LLMS_Integration_Buddypress::memberships_screen()` method with no replacement.
+ Deprecated `LLMS_Integration_Buddypress::remove_courses_paginate_links_filter()` method with no replacement.
+ Deprecated `LLMS_Integration_Buddypress::modify_courses_paginate_links()` method with no replacement.
##### Developer Notes
+ Added `llms_get_paged_query_var()` function that returns the page number query var for the current request.
+ Added new filter `llms_buddypress_profile_endpoints` to control the LifterLMS endpoints to be added to the BuddyPress profile.
+ Added new filter `llms_buddypress_min_nav_item_slug` to control the LifterLMS main BuddyPress' nav item slug.
+ Added new filter `llms_buddypress_min_nav_item_label` to control the LifterLMS main BuddyPress' nav item label.
+ Added new filter `llms_buddypress_min_nav_item_position` to control the LifterLMS main BuddyPress' nav item position.
= v6.2.0 - 2022-03-30 =
##### Updates and Enhancements
+ Changed the `llmsStudentsSelect2()` JavaScript function to use the LifterLMS REST API "list students" endpoint instead of the `LLMS_AJAX_Handler::query_students()` PHP function.
+ Upgraded LifterLMS Blocks to [v2.4.1](https://make.lifterlms.com/2022/03/30/lifterlms-blocks-version-2-4-1/).
##### Bug Fixes
+ Fixed issue with hidden checkboxes on LifterLMS forms.
+ Fixed a compatiblity issue with the Divi Theme Builder ignoring access restrictions when using template with custom body. [#2063](https://github.com/gocodebox/lifterlms/issues/2063)
+ Fixed an error encountered on the Engagements > Certificates screen when using the BuddyBoss theme. [#2080](https://github.com/gocodebox/lifterlms/issues/2080)
##### Deprecations
+ Deprecated `LLMS_AJAX_Handler::query_students()`. Use the [REST API list students](https://developer.lifterlms.com/rest-api/#tag/Students/paths/~1students/get) endpoint instead.
##### Developer Notes
+ Added new filter `llms_template_loader_priority` to control the priority of the `template_include` hook callback used to load restricted content templates.
= v6.1.0 - 2022-03-23 =
##### Upcoming PHP Version Requirement Change
**LifterLMS will drop support for PHP 7.3 by May, 2022. This will raise the minimum supported PHP version to 7.4. PHP 7.3 reached its official [end of life](https://www.php.net/eol.php) on December 6, 2021. If you are still using PHP 7.3 please upgrade to PHP 7.4 or later as soon as possible.**
##### New Features
+ Added the `{earned_date}` certificate merge code.
##### Updates and Enhancements
+ Changed the label for the `{current_date}` certificate merge code from 'Earned Date' to 'Current Date'.
+ Updates LifterLMS REST to [v1.0.0-beta.24](https://make.lifterlms.com/2022/03/17/lifterlms-rest-api-version-1-0-0-beta-24/).
##### Bug Fixes
+ Fixed an issue encountered when editing an order with a completed payment plan. [#2067](https://github.com/gocodebox/lifterlms/issues/2067)
+ Fixed access of protected LLMS_Abstract_Query properties.
= v6.0.0 - 2022-03-08 =
**This major release of LifterLMS focuses on improving the experience of creating, designing, and managing achievements and certificates: use the block editor to design certificates, sync awards with their templates, award achievements and certificates on demand without requiring an engagement trigger, and [much more](https://lifterlms.com/docs/getting-started-with-lifterlms-6-0/). In addition, this release removes a significant number of previously deprecated classes, methods, and functions. Please read the full Breaking Changes sections for more information on removed code.**
##### New Features
+ The block editor is now enabled by default for certificates when using WordPress versions 5.8 and later.
+ Existing certificates are marked as "legacy" and will continue to use the classic editor until migrated.
+ To migrate a certificate, click the "Migrate Certificate" button. This will force the certificate's content into blocks.
+ A number of new settings are available to certificates when using the block editor:
+ Set the certificate's display (and print) size using common paper sizes such as US Letter, US Legal, A3, A4, and more.
+ Set the certificate's display orientation: portrait of landscape.
+ Set the certificate's inner margins.
+ Set the certificate's background color.
+ A new block, the Certificate Title Block, has been made available to certificates.
+ The block works like a WordPress core Heading Block with added options for selecting from a few display fonts (provided by Google Web Fonts).
+ The block controls the title of awarded certificates.
+ Added the ability for administrators and LMS managers to edit earned certificates/achievements from the students reporting screen, as well as award new certificates/achievements to students.
+ Added the ability to sync awarded certificates with the template used to generate them. [#1078](https://github.com/gocodebox/lifterlms/issues/1078)
+ The `post_name` of earned certificate posts will be generated with a randomized 3+ character string in favor of relying on sequential numbers.
+ Added certificate global options for the default size of new certificates and certificate templates.
+ Certificate and email template merge code buttons now include [llms-user] information shortcodes.
+ Added certificate sequential ID functionality merge code.
+ Added a link to return to the student dashboard when viewing an awarded certificate. [#1959](https://github.com/gocodebox/lifterlms/issues/1959)
+ Provide additional information to hooks on the student single course reporting screen.
##### Updates and Enhancements
+ Added new default images for use with achievements and certificates.
+ The site-wide default images can be customized on the admin panel under Settings -> Engagements.
+ The old default images will automatically be used for legacy certificates and can be forced by filtering `llms_use_legacy_engagement_images`. [#1081](https://github.com/gocodebox/lifterlms/issues/1081)
+ Certificates no longer use the `header.php` and `footer.php` files from the site's theme, instead custom templates (`templates/certificates/header.php` and `templates/certificates/footer.php`) are used instead. These templates are minimal and exclude theme wrappers which reduces the visual conflicts encountered from theme wrappers, backgrounds, and more, especially when printing certificates. [#463](https://github.com/gocodebox/lifterlms/issues/463)
+ The achievements and certificates dashboard endpoints are now paginated. [#669](https://github.com/gocodebox/lifterlms/issues/669)
+ Added pagination to achievement and certificate reporting pages.
+ The URL of earned user certificates has been changed from "my_certificate" to "certificate". Requests to the old url are automatically redirected to the new url, including instances where the URL slug has been translated.
+ The URL of certificate template previews has been changed from "certificate" to "certificate-template".
+ The certificate merge code, `{first_name}`, now outputs an empty string in favor of falling back to the user's nickname when there is no first name for the user. [#1640](https://github.com/gocodebox/lifterlms/issues/1640)
+ The look and behavior of the certificate {{MINI_CERTIFICATE}} pop-over notification merge code now displays a placeholder preview of the certificate in favor of attempting to render a tiny version of the actual certificate. [#1950](https://github.com/gocodebox/lifterlms/issues/1950)
+ The coupon code in the student's order details table is now wrapped in a `<code>` tag instead of an `<a>` tag. [#2033](https://github.com/gocodebox/lifterlms/issues/2033)
+ Updates LifterLMS REST to [v1.0.0-beta.23](https://make.lifterlms.com/2022/02/23/lifterlms-rest-api-version-1-0-0-beta-23/).
+ Updated LifterLMS Blocks to [version 2.4.0](https://make.lifterlms.com/2022/02/25/lifterlms-blocks-version-2-4-0/).
##### Bug Fixes
+ Delayed engagements are automatically unscheduled when the related post is deleted.
+ A disabled student dashboard endpoint will no longer display the endpoint's summary on the main dashboard page. [#535](https://github.com/gocodebox/lifterlms/issues/535)
+ Prior to sending a delayed engagement the recipient's enrollment in the related post is verified resulting the engagement not being triggered if the recipient's enrollment has been terminated. [#290](https://github.com/gocodebox/lifterlms/issues/290)
+ Post search filter boxes on various post tables will now longer display a link to the selected post.
+ Basic notification code is no longer loaded on the admin panel.
+ Fixed the label hover on picture type quizzes in some themes. [#2015](https://github.com/gocodebox/lifterlms/issues/2015)
##### Database Migration
+ A database migration is required when upgrading from versions earlier than 6.0.0. A description of the required updates can be found at [https://lifterlms.com/docs/lifterlms-database-updates/#600](https://lifterlms.com/docs/lifterlms-database-updates/#600).
##### Deprecations
+ Public access to properties of the abstract `LLMS_Database_Query` has been deprecated.
+ Public access to class property `LLMS_Database_Query::$found_results`. The property is no longer publicly writable but can be read via `LLMS_Database_Query::get_found_results()`.
+ Public access to class property `LLMS_Database_Query::$max_pages`. The property is no longer publicly writable but can be read via `LLMS_Database_Query::get_max_pages()`.
+ Public access to class property `LLMS_Database_Query::$number_results`. The property is no longer publicly writable but can be read via `LLMS_Database_Query::get_number_results()`.
+ Public access to class property `LLMS_Database_Query::$results`. The property is no longer publicly writable but can be read via `LLMS_Database_Query::get_results()`.
+ Public access to class property `LLMS_Database_Query::$query_vars`. The variable as a whole cannot be publicly accessed, instead use `LLMS_Database_Query::get()` and `LLMS_Database_Query::set()` to read and write to the array.
+ The above changes were made to the abstract class `LLMS_Database_Query` but the following concrete classes that utilize the abstract are also affected by this change: `LLMS_Query_User_Postmeta`, `LLMS_Student_Query`, `LLMS_Query_Quiz_Attempt`, `LLMS_Events_Query`, and `LLMS_Notifications_Query`.
+ Class `LLMS_Achievement_User` is deprecated with no direct replacement.
+ Method `LLMS_Achievement::is_enabled()` is deprecated with no replacement.
+ Method `LLMS_Achievement::get_blogname()` is deprecated with no replacement.
+ Method `LLMS_Achievement::format_string()` is deprecated with no replacement.
+ Method `LLMS_Achievement::get_title()` is deprecated with no replacement.
+ Method `LLMS_Achievement::get_content()` is deprecated with no replacement.
+ Method `LLMS_Achievement::get_content_html()` is deprecated with no replacement.
+ Method `LLMS_Achievement::create()` is deprecated with no replacement.
+ Method `LLMS_Achievements::trigger_engagement()` is deprecated in favor of `LLMS_Engagement_Handler::handle_achievement()`.
+ Class `LLMS_Certificate` is deprecated with no direct replacement.
+ Method `LLMS_Certificate::is_enabled()` is deprecated with no replacement.
+ Method `LLMS_Certificate::get_blogname()` is deprecated with no replacement.
+ Method `LLMS_Certificate::format_string()` is deprecated with no replacement.
+ Method `LLMS_Certificate::get_title()` is deprecated with no replacement.
+ Method `LLMS_Certificate::get_content()` is deprecated with no replacement.
+ Method `LLMS_Certificate::get_content_html()` is deprecated with no replacement.
+ Method `LLMS_Certificate::get_title()` is deprecated with no replacement.
+ Method `LLMS_Certificates::trigger_engagement()` is deprecated in favor of `LLMS_Engagement_Handler::handle_certificate()`.
+ Method `LLMS_Engagements::init()` is deprecated with no replacement.
+ Method `LLMS_Engagements::handle_achievement` is deprecated in favor of `LLMS_Engagement_Handler::handle_achievement`.
+ Method `LLMS_Engagements::handle_certificate` is deprecated in favor of `LLMS_Engagement_Handler::handle_certificate`.
+ Method `LLMS_Engagements::handle_email` is deprecated in favor of `LLMS_Engagement_Handler::handle_email`.
+ Method `LLMS_Database_Query::set_found_results()` is deprecated.
+ Class `LLMS_Achievement_User` is deprecated with no direct replacement.
+ Method `LLMS_Achievement_User::has_user_earned()` is deprecated with no replacement.
+ Method `LLMS_Achievement_User::init()` is deprecated with no replacement.
+ Method `LLMS_Achievement_User::trigger()` is deprecated with no replacement.
+ Method `LLMS_Achievement_User::get_content_html()` is deprecated with no replacement.
+ Class `LLMS_Certificate_User` is deprecated with no direct replacement.
+ Method `LLMS_Certificate_User::init()` is deprecated with no replacement.
+ Method `LLMS_Certificate_User::trigger()` is deprecated with no replacement.
+ Method `LLMS_Certificate_User::get_content_html()` is deprecated with no replacement.
+ Method `LLMS_Certificate_User::set_shortcode_user()` is deprecated with no replacement.
+ Engagement debug logging is removed. Use `llms_log()` directly instead.
+ Filter `llms_db_query_get_default_args` is deprecated in favor of `llms_{$this->id}_query_get_default_args`.
+ Filter `llms_certificate_has_user_earned` is deprecated in favor of `llms_earned_certificate_dupcheck`.
+ Unused public class property `LLMS_Achievements::$content` is deprecated with no replacement.
+ Method `LLMS_Admin_Post_Types::meta_metabox_init()` is deprecated with no replacement.
+ The site options `lifterlms_certificate_bg_img_width`, `lifterlms_certificate_bg_img_height`, and `lifterlms_certificate_legacy_image_size` are now used only for certificates and certificate templates created using the classic editor.
+ The settings, found on the Engagements Settings screen, are hidden by default.
+ During the database upgrade from versions earlier than 6.x, an site option, `llms_has_legacy_certificates` is added when at least one certificate is found. This option will display the settings so they can continue to be used for legacy certificates.
+ After migrating all certificates on a site, the settings will still display. In order to remove them from the screen a developer can either delete the option `llms_has_legacy_certificates` or return `false` from the filter `llms_has_legacy_certificates`.
+ Method `LLMS_Engagements::handle_certificate` is deprecated in favor of `LLMS_Engagement_Handler::handle_certificate`. [#290](https://github.com/gocodebox/lifterlms/issues/290)
+ Method `LLMS_Engagements::handle_achievement` is deprecated in favor of `LLMS_Engagement_Handler::handle_achievement`. [#290](https://github.com/gocodebox/lifterlms/issues/290)
+ The constant `LLMS_ENGAGEMENT_DEBUG` is deprecated with no replacement.
+ Engagement debugging via `LLMS_Engagements::log` is deprecated. Use `llms_log()` instead.
+ Method `LLMS_Engagements::handle_email` is deprecated in favor of `LLMS_Engagement_Handler::handle_email`.
+ Filter `lifterlms_register_post_type_llms_my_certificate` is deprecated in favor of `lifterlms_register_post_type_my_certificate`.
+ Deprecated the misspelled protected method `LLMS_Database_Query::preprare_query()` and replaced with `LLMS_Database_Query::prepare_query()`.
+ Class method `LLMS_Events_Query::preprare_query` replaced with `LLMS_Events_Query::prepare_query()`.
+ Class method `LLMS_Query_Quiz_Attempt::preprare_query` replaced with `LLMS_Query_Quiz_Attempt::prepare_query()`.
+ Class method `LLMS_Query_User_Postmeta::preprare_query` replaced with `LLMS_Query_User_Postmeta::prepare_query()`.
+ Class method `LLMS_Student_Query::preprare_query` replaced with `LLMS_Student_Query::prepare_query()`.
+ Class method `LLMS_Notifications_Query::preprare_query` replaced with `LLMS_Notifications_Query::prepare_query()`.
+ Class method `LLMS_Notifications_Query::preprare_query` replaced with `LLMS_Notifications_Query::prepare_query()`. [#859](https://github.com/gocodebox/lifterlms/issues/859)
##### Breaking Changes
+ Removed FSE template: `templates/block-templates/single-certificate.html`.
+ Removed the deprecated `LLMS()` function in favor of the `llms()` function.
+ Removed the deprecated the `LLMS_SendWP::do_remote_install()` method in favor of the `LLMS_Abstract_Email_Provider::do_remote_install()` method.
+ Removed the deprecated `LLMS_Abstract_Email_Provider::output_css()` method.
+ Removed the deprecated `LLMS_Abstract_Generator_Posts::increment()` method.
+ Removed the deprecated `LLMS_Admin_Users_Table::load_dependencies()` method.
+ Removed the deprecated `LLMS_Admin_Import::localize_stat()` method.
+ Removed the deprecated `LLMS_Admin_Notices_Core::check_staging()` method.
+ Removed the deprecated `LLMS_Admin_Setup_Wizard::generator_course_status()` method.
+ Removed the deprecated `LLMS_Admin_Setup_Wizard::output_step_html()` method.
+ Removed the deprecated `LLMS_Admin_Setup_Wizard::scripts()` method.
+ Removed the deprecated `LLMS_Admin_Setup_Wizard::watch_course_generation()` method.
+ Removed the deprecated `llms_format_decimal()` function.
+ Removed the deprecated `llms_set_person_auth_cookie()` function.
+ Removed the deprecated `LLMS_Course::sections` property.
+ Removed the deprecated `LLMS_Course::sku` property.
+ Removed the deprecated `LLMS_Frontend_Assets::enqueue_inline_pw_script()` method.
+ Removed the deprecated `LLMS_Frontend_Assets::enqueue_inline_script()` method.
+ Removed the deprecated `LLMS_Frontend_Assets::is_inline_script_enqueued()` method.
+ Removed the deprecated `LLMS_Generator::add_custom_values()` method.
+ Removed the deprecated `LLMS_Generator::add_custom_values()` method.
+ Removed the deprecated `LLMS_Generator::format_date()` method.
+ Removed the deprecated `LLMS_Generator::get_author_id_from_raw()` method.
+ Removed the deprecated `LLMS_Generator::get_default_post_status()` method.
+ Removed the deprecated `LLMS_Generator::get_generated_posts()` method.
+ Removed the deprecated `LLMS_Generator::increment()` method.
+ Removed the deprecated `llms__created` action hook from the `LLMS_Abstract_Database_Store::create()` method.
+ Removed the deprecated `llms__deleted` action hook from the `LLMS_Abstract_Database_Store::delete()` method.
+ Removed the deprecated `llms__updated` action hook from the `LLMS_Abstract_Database_Store::update()` method.
+ Removed the deprecated `llms_user_removed_from_membership_level` action hook from the `LLMS_Student::unenroll()` method.
+ Removed the deprecated and misspelled `$purchaseable` global variable in the `lifterlms_template_pricing_table()` function.
+ Removed the deprecated and misspelled `$purchaseable` global variable in the `templates/product/pricing-table.php` file.
+ Removed the deprecated `LLMS_Frontend_Password` class.
+ Removed the deprecated `LLMS_Install::db_updates()` method.
+ Removed the deprecated `LLMS_Install::update_notice()` method.
+ Removed the deprecated `LLMS_Notifications::dispatch_processors()` method.
+ Removed the deprecated `llms_processors_async_dispatching` filter hook from the `LLMS_Notifications::__construct()` method.
+ Removed the deprecated `LLMS_Notifications::$_instance` property.
+ Removed the deprecated `LLMS_Person_Handler::register()` method.
+ Removed the deprecated `LLMS_Person_Handler::sanitize_field()` method.
+ Removed the deprecated `LLMS_Person_Handler::update()` method.
+ Removed the deprecated `LLMS_Person_Handler::validate_fields()` method.
+ Removed the deprecated `LLMS_Person_Handler::voucher_toggle_script()` method.
+ Removed the deprecated `templates/admin/notices/db-update.php` file.
+ Removed the deprecated `templates/admin/notices/db-updating.php` file.
+ Removed the deprecated `llms_usernames_blacklist` filter hook in the `llms_get_usernames_blocklist()` function.
+ Removed the deprecated `includes/libraries/wp-background-processing/index.php` file.
+ Removed the deprecated `includes/libraries/wp-background-processing/wp-async-request.php` file.
+ Removed the deprecated `includes/libraries/wp-background-processing/wp-background-process.php` file.
+ Removed the deprecated `LLMS_Section::get_next_available_lesson_order()` method.
+ Removed the deprecated `LLMS_Section::get_order()` method.
+ Removed the deprecated `LLMS_Section::get_parent_course()` method.
+ Removed the deprecated `LLMS_Section::set_parent_course()` method.
+ Removed the deprecated `LLMS_AJAX::check_voucher_duplicate()` method.
+ Removed the deprecated `LLMS_AJAX::get_ajax_data()` method.
+ Removed the deprecated `LLMS_AJAX::register_script()` method.
+ Removed the deprecated `LLMS_Interface_Post_Audio` interface.
+ Removed the deprecated `LLMS_Interface_Post_Sales_Page` interface.
+ Removed the deprecated `LLMS_Interface_Post_Video` interface.
+ Removed the deprecated `LLMS_Achievements::$_instance` property.
+ Removed the deprecated `LLMS_Certificates::$_instance` property.
+ Removed the deprecated `LLMS_Emails::$_instance` property.
+ Removed the deprecated `LLMS_Engagements::$_instance` property.
+ Removed the deprecated `LLMS_Events::$_instance` property.
+ Removed the deprecated `LLMS_Grades::$_instance` property.
+ Removed the deprecated `LLMS_Integrations::$_instance` property.
+ Removed the deprecated `LLMS_Payment_Gateways::$_instance` property.
+ Removed the deprecated `LLMS_Processors::$_instance` property.
+ Removed the deprecated `LLMS_Sessions::$_instance` property.
##### Developer Notes
+ Added `LLMS_Awards_Query`, used for querying data about awarded certificates and achievements.
+ The method signature `LLMS_Student::get_achievements()` and `LLMS_Student::get_certificates()` now use this class under tho hood.
+ The previous method signature, which passed data into a direct SQL query, is now deprecated.
+ Achievement and certificate data storage locations have been modified, primarily to reduce reliance on the `wp_postmeta` table which will result in a site-wide performance improvement, especially on large sites.
+ Meta properties `_llms_achievement_content` and `_llms_certificate_content` have been removed in favor of `WP_Post::$post_content`.
+ Meta properties `_llms_achievement_title` and `_llms_certificate_title` have been removed in favor of `WP_Post::$post_title`.
+ Meta properties `_llms_achievement_template` and `_llms_certificate_template` have been removed in favor of `WP_Post::$post_parent`.
+ Meta properties `_llms_achievement_image` and `_llms_certificate_image` have been moved the meta property `_thumbnail_id` in order to utilize the WordPress core's featured image functionality and internal APIs.
+ Reliance on `lifterlms_user_postmeta` for achievement and certificate data will be removed in a future release.
+ User postmeta properties `_achievement_earned` and `_certificate_earned` will continue to be recorded but are no longer being used internally.
+ The `updated_date` is now accessible via `WP_Post::$post_date`.
+ The `user_id` is now accessible via `WP_Post::$post_author`.
+ Added new Javascript UI components library, modeled after `@wordpress/components`. [Read more](https://github.com/gocodebox/lifterlms/tree/dev-600/packages/components).
+ Added a new SVG icon library, modeled after `@wordpress/icons`. [Read more](https://github.com/gocodebox/lifterlms/tree/dev-600/packages/icons).
+ The merge code button seen on certificate and email template editors is now an SVG image instead of a PNG.
+ Added utility function for escaping and quoting strings. [#1027](https://github.com/gocodebox/lifterlms/issues/1027)
+ Added the ability to force an admin metabox field value through the new `meta` arg. [#2016](https://github.com/gocodebox/lifterlms/issues/2016)
+ Added new utility function for stripping prefixes from strings.
##### Performance Improvements
+ Increased the number of files that are autoloaded instead of manually loaded.
##### Updated Templates
+ [templates/achievements/loop.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/achievements/loop.php)
+ [templates/achievements/template.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/achievements/template.php)
+ [templates/admin/notices/db-update.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/admin/notices/db-update.php)
+ [templates/admin/notices/db-updating.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/admin/notices/db-updating.php)
+ [templates/admin/reporting/reporting.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/admin/reporting/reporting.php)
+ [templates/admin/reporting/tabs/students/courses-course.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/admin/reporting/tabs/students/courses-course.php)
+ [templates/admin/reporting/tabs/students/information.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/admin/reporting/tabs/students/information.php)
+ [templates/block-templates/single-certificate.html](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/block-templates/single-certificate.html)
+ [templates/certificates/actions.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/actions.php)
+ [templates/certificates/content-legacy.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/content-legacy.php)
+ [templates/certificates/content.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/content.php)
+ [templates/certificates/dynamic-styles.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/dynamic-styles.php)
+ [templates/certificates/footer.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/footer.php)
+ [templates/certificates/header.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/header.php)
+ [templates/certificates/loop.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/loop.php)
+ [templates/certificates/preview.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/preview.php)
+ [templates/certificates/template.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/certificates/template.php)
+ [templates/checkout/form-switch-source.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/checkout/form-switch-source.php)
+ [templates/content-certificate.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/content-certificate.php)
+ [templates/emails/footer.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/emails/footer.php)
+ [templates/emails/header.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/emails/header.php)
+ [templates/myaccount/my-grades-single-table.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/myaccount/my-grades-single-table.php)
+ [templates/myaccount/view-order-actions.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/myaccount/view-order-actions.php)
+ [templates/myaccount/view-order-information.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/myaccount/view-order-information.php)
+ [templates/myaccount/view-order-transactions.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/myaccount/view-order-transactions.php)
+ [templates/myaccount/view-order.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/myaccount/view-order.php)
+ [templates/product/pricing-table.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/product/pricing-table.php)
+ [templates/single-certificate.php](https://github.com/gocodebox/lifterlms/blob/6.0.0/templates/single-certificate.php)
[Read the full changelog](https://make.lifterlms.com/tag/lifterlms)