Nick Mariano
Forum Replies Created
-
Forum: Plugins
In reply to: [LifterLMS - WP LMS for eLearning, Online Courses, & Quizzes] Course datesWe need to clarify what you mean, so we can better assist you. Are you asking if we have a sample course the has the following configuration:
- The course can only be purchased between a given start date and a given end date.
- Organized the students into cohorts, with a limit on the number of students in each cohort.
Is this correct? If so, then while we don’t have sample courses that we can share or send to you, we can give you instructions on how to accomplish (1) and (2) above.
To accomplish (1) create a LifterLMS course(s), and go to
Course Options > Restrictionsand toggle onEnable Enrollment Period. This will open up two more input fields:Enrollment Start DateandEnrollment End Date. Please supply your intended dates on these fields.To accomplish (2) on the same LifterLMS courses, you can purchase the LifterLMS Groups add-on from our website at lifterlms.com. Once you purchase and install the LifterLMS Groups add-on, you can follow the steps below:
- Create a membership page. For example, let’s call it <span style=”text-decoration: underline;”>Package 1</span> (you can call it any name you want). In LifterLMS, a membership is just a collection of zero or more courses.
- Open up your courses you created earlier and modify their access plan by setting the <span style=”text-decoration: underline;”>Plan Availability</span> to <span style=”text-decoration: underline;”>Members only</span> and <span style=”text-decoration: underline;”>Memberships</span> to <span style=”text-decoration: underline;”>Package 1</span>.
- Create a group using the LifterLMS add-on by going to <span style=”text-decoration: underline;”>WordPress Dashboard > Groups > Add New</span>. For example, let’s call this <span style=”text-decoration: underline;”>Group 1</span> (you can call it any name you want).
- Associate your membership page to this group by selecting Package 1 from the <span style=”text-decoration: underline;”>WordPress Dashboard > Groups > Add New</span> <span style=”text-decoration: underline;”>> Course or Membership</span> dropdown.
- Add number number of seats you want have in the <span style=”text-decoration: underline;”>Group 1</span> cohort, under <span style=”text-decoration: underline;”>WordPress Dashboard > Groups > Add New > Seats</span> .
- Send invitations links to your target students by going to Add number number of seats you want have in the <span style=”text-decoration: underline;”>Group 1</span><span style=”text-decoration: underline;”> </span>cohort, under <span style=”text-decoration: underline;”>WordPress Dashboard > Groups > Add New > Members > Manage</span> .
Once your students accept the invitation link, they will be added to <span style=”text-decoration: underline;”>Group 1</span> and to <span style=”text-decoration: underline;”>Package 1</span>. Since they are now enrolled in Package 1, and since you have changed the access plan of your courses to be purchasable by students enrolled in the <span style=”text-decoration: underline;”>Package 1</span> membership, then these student can no purchase these courses you created within the enrollment period you specified.
Hi @alexzaragoza21,
You are correct that lessons individually marked as a
Free Lessonwill be accessible to non-enrolled users. As a result, free lessons are accessible to logged-out users as well.However, quizzes still require enrollment (and thus registration and login). The reason is because quizzes can be graded, and we need to associate that grade data with a student account. For example, consider why the
Mark Completebutton is not visible to logged out students taking free lessons.Although LifterLMS could have been designed to allow non-enrolled users to take quizzes, with the way the software is written right now, this is not possible nor trivial to do with PHP/JS customizations.
If you need this as a feature, we encourage you to file a feature request instead in our plugin website at lifterlms.com/feature-request. Generally, the more vote a feature request gets, the higher the chances that feature will be developed. As a result, once a feature request is created, we cannot provide a timeline on when exactly that feature will be released.
Hi @avaiya
It looks like we already responded to a duplicate of this support request. In summary, we provided you with the PHP code below to fix this problem:
function my_custom_filter_for_lost_password( $message ) { return "Need to create your password for the 1st time? Or need to reset your password if you've lost it? Enter your email address and we will send you a link to create your password or reset it."; } add_filter( 'lifterlms_lost_password_message', 'my_custom_filter_for_lost_password', 10, 1);We asked you to edit your functions.php file to add this code. An alternative is to simply use the free and popular Code Snippets plugin to run that same PHP code.
Hi @savit52e,
We need to clarify what you mean so we can better assist you. Could you please clarify what you mean by “class elementor” and “class div”? If you can provide screenshots, that would be awesome.
Hi @typisch-mann,
I understand that you are talking about the
Checkout redirectof your course access plan options.Are you planning on redirecting to the same page for all your 100+ courses? If so, first, please make sure that the
Checkout redirectof each access plan in your 100+ courses is left at the default value, which is(Default) Return to Course.Now, to avoid having to setup redirects 100+ times for your 100+ course, please use the third-party Redirection plugin available here at WordPress.org. Once installed and activated and setup, please go to
WordPress Dashboard > Tools > Redirectionto create your redirect rule. When creating your redirect rule, set theSource URLto this regular expression^/course/.*/\?order-complete=.*This regular expression will match a path like
/course/170/?order-complete=order-6491c8f5bab5cwhich is what your course will redirect to when you leave the settingCheckout redirectto its default value of(Default) Return to Course.Please also add the Regex tag to the
Source URL. Please also don’t forget to set a value for theTarget URL. ThisTarget URLcould be your one thank you page, for example.Hi @somegirlmia,
Could you please clarify what you mean by front-end course creation? Do you mean the ability to create your courses outside of <span style=”text-decoration: underline;”>WordPress Dashboard > Courses > Add New</span>? Or is it something else?
Note that your courses and lessons are all editable in the Gutenberg editor as shown here wordpress.org/gutenberg. You can also use page builder plugins like Elementor or Divi Builder to edit your courses or lessons.
Hi @simeonmeder,
You can change the string
You must enroll in this course to access course contentto something else by editing your course on the back-end and then going toCourse Options > Restrictions > Content Restricted MessageSince you can directly modify that string, you do not need to use Loco Translate to translate that. You can just change the actual string in
Course Options > Restrictions > Content Restricted MessageNote that you have to do this for all old courses that are already created (regardless of the publish status).When you try to override the default value for
Course Options > Restrictions > Content Restricted Messageusing Loco Translate, you will only see you change for new courses you create after the translation (not before the translation). The deafult value you need to search for isYou must enroll in this course to access course contentThat string is located in the following PHP files:- wp-content/plugins/lifterlms/includes/admin/post-types/meta-boxes/class.llms.meta.box.course.options.php
- wp-content/plugins/lifterlms/libraries/lifterlms-rest/includes/server/class-llms-rest-courses-controller.php
Hi @richiecvz
Courses and lessons are stored as custom post types. If you access a lesson, you can get the parent course by looking for the “_llms_parent_course” meta key.
Hi @montseel,
The custom location that Loco Translate uses is
wp-content/languages/loco/plugins/lifterlms-es_ES.mo.On the other hand, if you look at the file at
wp-content/plugins/lifterlms/includes/functions/llms-functions-l10n.phpyou will notice that custom location that LifterLMS recognizes iswp-content/languages/lifterlms/lifterlms-en_US.mo.Once you are done translating the strings from within the Loco Translate admin area, you can move the file
wp-content/languages/loco/plugins/lifterlms-es_ES.motowp-content/languages/lifterlms/lifterlms-en_US.mo. This should fix the translation problems.If you want to avoid this manual work of moving .mo files, you can also try using the
llms_l10n_safe_directoryhook inwp-content/plugins/lifterlms/includes/functions/llms-functions-l10n.php. Using that hook, you would want to replaceWP_LANG_DIR . '/lifterlms'withWP_LANG_DIR . '/loco/plugins'.Hi @murtaza131 ,
The link you sent is malformed, so it doesn’t link to any page. I visited your site but I wasn’t able to find any courses that I can test purchase so I can see the checkout page. Can you provide a link to any purchasable course so we can have a look? Alternatively, you can also upload a screenshot.
Hi @jlessa,
I can see from the screenshot you sent that the two pages have the same layout setting, but they appear to have different widths. One has a fixed width, and the other has full width.
It’s possible that there are plugins conflicts. If you are also using Elementor, does the issue disappear when you try to temporarily deactivate Elementor? How about when you deactivate all other plugins except LifterLMS?
Hi @hibans,
I replied to your post here https://wordpress.org/support/topic/posting-again-allow-google-to-crawl-text-in-paid-lessons.
Hi @hibans ,
Apologies for the late update. Unfortunately, the use case you are describing is not possible.
This is due to the following reasons:
- LifterLMS paid lessons, quizzes, and certificates are excluded from the sitemap. Your WordPress sitemap is a just list of all the public URLs on your WordPress website. You can view your sitemap <your-domain>/sitemap.xml.
- When Google crawls your course page, it sees your course syllabus first. In this course syllabus, the title of free courses have a link attached to them. Google can then follow this link to index the contents of the free course lesson. On the other hand, on your course syllabus the titles of the paid lessons do not have a linked attached to them. So Google has no link to follow.
Furthermore, even if Google sees the link to paid lessons, the crawler will be redirected back to the course syllabus page. This is because the contents of your paid lessons can only be revealed to enrolled users. If a program (e.g., a crawler) can access those course contents by bypassing the same security mechanism that allows only enrolled students to see the paid lesson content, then others would be able to copy your course content and possibly re-upload it somewhere else.