LearnDash LMS
Features
- Added the new Modern Group Page, which can be toggled under LearnDash > Settings > General.
Tweaks
- Added filters:
learndash_course_grid_template_post_shortcode_attributes,learndash_ld30_modern_group_course_grid_args,learndash_ld30_modern_group_show_header,learndash_ld30_modern_group_show_sidebar,learndash_model_group_award_certificate,learndash_model_group_certificate_link,learndash_model_group_courses_number,learndash_model_group_courses,learndash_model_group_has_awards,learndash_model_group_product,learndash_payment_button_label_group,learndash_template_views_group_tabs. - Updated filters:
learndash_course_grid_template_post_attributes. - Updated templates:
includes/course-grid/templates/cards/grid-2/layout.php,includes/course-grid/templates/cards/grid-3/layout.php,includes/course-grid/templates/cards/list-1/layout.php. - Consolidating buttons on the admin list pages.
Fixes
- Resolved a conflict with the Paid Memberships Pro plugin related to the Stripe library.
Tweaks
- Added LearnDash onboarding wizard trigger for StellarSites users.
- Added a setting to enable/disable automatic progression for courses (disabled by default), which can be toggled under LearnDash > Courses > Settings.
- Hid the LearnDash Licensing page on StellarSites if the LearnDash license is valid.
- Changed setup link in the LearnDash fresh install pointer to link to the LearnDash onboarding wizard.
- Improved accessibility for the Focus Mode sidebar keyboard navigation.
- Improved accessibility for the focus mode sidebar trigger on mobile.
- Improved accessibility for focus mode sidebar navigation.
- Improved accessibility for Course step status icons.
- Improved the accessibility of the Focus Mode Sidebar on desktop and mobile.
- Improved the accessibility of the mark complete button.
- Improved accessibility for alerts shown on page load.
- Improved accessibility for the expand and collapse buttons for the Profile shortcode.
- Increased cache time for failed licensing server requests to avoid potential site slowdowns.
- Prevented future LearnDash core updates if the WP version is lower than 6.6.
- Improved accessibility for "Fill in the blank" questions.
- Added a "skip to content" link for Focus Mode.
- Added filters:
learndash_location_is_learndash_admin_page,learndash_module_licensing_failed_response_cache_time,learndash_setup_wizard_status. - Updated filters:
learndash_step_completed_redirect_immediately. - Updated functions:
learndash_30_show_step_completed_alert,learndash_mark_complete_process. - Updated templates:
themes/ld30/templates/focus/header.php,themes/ld30/templates/focus/index.php,themes/ld30/templates/focus/sidebar.php,themes/ld30/templates/modules/alert.php,themes/ld30/templates/modules/infobar.php,themes/ld30/templates/quiz/partials/show_quiz_questions_box.php,themes/ld30/templates/shortcodes/profile/course-row.php,themes/ld30/templates/widgets/navigation/lesson-row.php,themes/ld30/templates/widgets/navigation/quiz-row.php,themes/ld30/templates/widgets/navigation/topic-row.php.
Features
- Merged course grid addon feature to LearnDash core.
Fixes
- Fixed an issue where the [ld_course_list] shortcode/block could not return courses that have not been started yet.
- Fixed the square outline on the quiz radio input for themes that override it.
- Fixed a PHP deprecation notice on LearnDash profile page and single group page.
- Resolved an issue where the Focus Sidebar could not be scrolled properly.
- Resolved a potential fatal error if an invalid color were saved under LearnDash LMS -> Settings.
- Resolved an issue where Quizzes couldn't be started with the Legacy Theme active.
- Lesson status message now consistently appears on repeated page loads.
Tweaks
- Added a filter to allow redirecting the user immediately after a course step is completed.
- Added a warning message to the matrix sort answer question type in the backend about accessibility compliance.
- Improved accessibility for quiz Free Choice result label.
- Improved accessibility for quiz Matrix result label.
- Improved accessibility for quiz Fill in Blank result label.
- Improved accessibility for quiz free match result label.
- Improved accessibility for quiz single match result label.
- Added support for WP auto-updates.
- Updated the default custom label for the "Continue" button from "Click Here to Continue" to "Continue".
- Improved the RazorPay library to avoid PHP warnings related to the
REQUESTS_SILENCE_PSR0_DEPRECATIONSconstant. - Increased YouTube playlist importer request timeout.
- Improved accessibility for correct and incorrect answers for the "sorting" choice question type.
- Added move icon for matrix sorting question answers to improve accessibility.
- Improved accessibility for expand and collapse button labels.
- Improved accessibility for quiz question inputs.
- Reverted the Quiz Questions template for the Legacy theme to avoid conflicts with the LD30 theme.
- Added LearnDash Legacy template end of support notice.
- Added actions:
learndash_course_grid_assets_loaded,learndash_course_grid_custom_css. - Added filters:
learndash_block_markers_shortcode_atts,learndash_course_grid_author,learndash_course_grid_block_editor_image_sizes,learndash_course_grid_block_editor_orderby,learndash_course_grid_block_editor_paginations,learndash_course_grid_block_editor_post_types,learndash_course_grid_block_editor_taxonomies,learndash_course_grid_cards,learndash_course_grid_card,learndash_course_grid_class,learndash_course_grid_course_class,learndash_course_grid_currency,learndash_course_grid_custom_button_link,learndash_course_grid_custom_button_text,learndash_course_grid_default_shortcode_attributes,learndash_course_grid_editor_fields,learndash_course_grid_excluded_post_types,learndash_course_grid_filter_default_shortcode_attributes,learndash_course_grid_html_output,learndash_course_grid_post_extra_course_grids,learndash_course_grid_post_types,learndash_course_grid_price_text_format,learndash_course_grid_price,learndash_course_grid_query_args,learndash_course_grid_reviews,learndash_course_grid_ribbon_class,learndash_course_grid_ribbon_text,learndash_course_grid_skins,learndash_course_grid_skin,learndash_course_grid_template_post_attributes,learndash_course_grid_template,learndash_module_course_grid_disabled,learndash_step_completed_redirect_immediately,learndash_step_completed_transient_expiration_time. - Added functions:
learndash_course_grid_count_students,learndash_course_grid_is_learndash_post_type,learndash_course_grid_load_card_template,learndash_course_grid_load_inline_script_locale_data,learndash_course_grid_load_resources,learndash_course_grid_prepare_template_post_attributes. - Deprecated functions:
LearnDash\course_grid. - Updated templates:
themes/ld30/templates/course.php,themes/ld30/templates/group.php,themes/ld30/templates/group/partials/course-row.php,themes/ld30/templates/lesson/listing.php,themes/ld30/templates/lesson/partials/row.php,themes/ld30/templates/modern/course/accordion/header/expand-all.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/expand-button.php,themes/ld30/templates/shortcodes/course_content_shortcode.php,themes/ld30/templates/shortcodes/groups/row.php,themes/ld30/templates/shortcodes/profile.php,themes/ld30/templates/shortcodes/profile/course-row.php,themes/ld30/templates/widgets/course-navigation.php,themes/ld30/templates/widgets/navigation/lesson-row.php,themes/legacy/templates/quiz/partials/show_quiz_questions_box.php.
Fixes
- Resolved an issue where if the entered license key was expired, other LearnDash plugins could not be installed properly.
Tweaks
- Improved accessibility for input fields in the Setup Wizard.
- Improved accessibility for breadcrumbs.
- Improved accessibility for course page focus mode side navigation when zoomed in.
- Improved accessibility for headings on registration page.
- Improved accessibility for onboarding wizard field labels.
- Improved accessibility of heading elements in the profile shortcode.
- Improved accessibility for course page side navigation when zoomed in.
- Improved accessibility for alerts with a role "alert".
- Improved accessibility for login link and modal.
- Improved accessibility for registration form field labels.
- Improved accessibility for registration form error messages.
- Improved accessibility for buttons when hovered and focused.
- Improved accessibility for assignments table on the profile page.
- Improved accessibility for quizzes table on the profile page.
- Improved accessibility for essays table on the profile page.
- Improved accessibility of the comments link in the assignments and essays tables on the profile page.
- Improved accessibility of the view statistics and view certificate links in the quizzes tables on the profile page.
- Improved accessibility for "sorting" choice questions.
- Improved accessibility for course pricing section.
- Changed the payment buttons' HTML type to
buttonto improve accessibility. - Added a redirect alert countdown to the payment form in the Registration page (classic and modern) to improve accessibility.
- Improved accessibility when a course step is completed.
- Improved accessibility for error messages on registration pages.
- Improved accessibility for tooltips.
- Removed the old and added a new LearnDash WP version support policy notice.
- Added filters:
learndash_payment_form_redirect_alert_countdown. - Added templates:
src/views/components/icons/drag.php. - Added functions:
learndash_30_show_step_completed_alert,learndash_course_get_step_completion_data,learndash_get_step_completed_transient_data. - Updated functions:
learndash_course_get_step_completion_url,learndash_login_failed_alert,learndash_mark_complete_process,learndash_output_registration_success_alert. - Updated filters:
learndash_group_course_row_atts,learndash_lesson_row_atts_sample_no_access,learndash_lesson_row_atts,learndash_quiz_row_atts. - Updated templates:
src/views/components/forms/field-label.php,src/views/modules/registration/login/forgot-password.php,src/views/modules/registration/order/coupons/alerts.php,src/views/modules/registration/order/details.php,src/views/modules/registration/register/form.php,themes/ld30/templates/assignment/partials/row.php,themes/ld30/templates/focus/sidebar.php,themes/ld30/templates/group/partials/row.php,themes/ld30/templates/lesson.php,themes/ld30/templates/lesson/partials/row.php,themes/ld30/templates/modules/alert.php,themes/ld30/templates/modules/breadcrumbs.php,themes/ld30/templates/modules/infobar.php,themes/ld30/templates/modules/infobar/course.php,themes/ld30/templates/modules/infobar/group.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/attributes/available-on.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/attributes/in-person.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/attributes/virtual.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/title.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/available-on.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/in-person.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/sample.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/virtual.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/attributes/available-on.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/attributes/in-person.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/attributes/virtual.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/title.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/title.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/attributes/available-on.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/attributes/in-person.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/attributes/virtual.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/quizzes/quiz/attributes/available-on.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/quizzes/quiz/attributes/in-person.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/quizzes/quiz/attributes/virtual.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/quizzes/quiz/title.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/title.php,themes/ld30/templates/modern/course/enrollment/join/index.php,themes/ld30/templates/modern/course/enrollment/pricing/closed/restricted.php,themes/ld30/templates/modern/course/enrollment/pricing/closed/with-price.php,themes/ld30/templates/modern/course/enrollment/pricing/free.php,themes/ld30/templates/modern/course/enrollment/pricing/pay-now.php,themes/ld30/templates/modern/course/enrollment/pricing/recurring/no-trial.php,themes/ld30/templates/modern/course/enrollment/pricing/recurring/trial.php,themes/ld30/templates/quiz/partials/row.php,themes/ld30/templates/shortcodes/profile.php,themes/ld30/templates/shortcodes/profile/assignment-row.php,themes/ld30/templates/shortcodes/profile/assignments.php,themes/ld30/templates/shortcodes/profile/course-row.php,themes/ld30/templates/shortcodes/profile/essay-row.php,themes/ld30/templates/shortcodes/profile/quiz-row.php,themes/ld30/templates/shortcodes/profile/quizzes.php,themes/ld30/templates/shortcodes/profile/search.php,themes/ld30/templates/topic.php,themes/ld30/templates/widgets/navigation/lesson-row.php,themes/ld30/templates/widgets/navigation/quiz-row.php,themes/ld30/templates/widgets/navigation/topic-row.php,themes/legacy/templates/quiz/partials/show_quiz_questions_box.php.
Security
- Added more safety checks to telemetry opt-ins/opt-outs.
Fixes
- Resolved an issue where if translation files were not downloaded, a PHP notice would be shown on WordPress 6.8+.
- Resolved an incompatibility with WordPress 6.8+ and the different tabbed interfaces when editing LearnDash content.
- Removed an added border from around Quiz Questions.
Fixes
- Resolved an issue where a quiz could not be started if resuming, automatic start and time limit settings were enabled.
- Fixed an issue where a topic inside a lesson could have the wrong previous step completed status.
- Fixed the [user_groups] shortcode.
- Improved the payment button accessibility.
Tweaks
- Added an accent color support to a "Complete previous step" button.
- Improved the accessibility of the profile edit link.
- Resolved accessibility issues with the Setup Wizard licensing key validation messages.
- Improved accessibility for a login button on course and group pages.
- Improved accessibility for headings on the onboarding wizard screens.
- Improved accessibility for alerts.
- Improved colors accessibility by updating the default LearnDash 3.0 theme colors.
- Improved accessibility related to the color contrast of various elements.
- Added a focus state to the search close button in the profile block to improve accessibility.
- Invalid license notices will no longer be shown on non-LearnDash admin pages.
- Improved accessibility for the Focus Mode sidebar.
- Improved colors accessibility for the Modern Course tabs.
- Lessons and Topics will now run the appropriate actions when marked complete from the backend user edit screen.
- Updated functions:
learndash_process_user_course_progress_update. - Added filters:
learndash_alert_role. - Updated templates:
themes/ld30/templates/focus/sidebar.php,themes/ld30/templates/modern/course/enrollment/join/login-link.php,themes/ld30/templates/modules/infobar/course.php,themes/ld30/templates/modules/infobar/group.php.
Fixes
- Fixed missing quiz points in the activity report widget.
- Resolved an issue where a white screen could be shown when editing LearnDash content types while running a Beta or Nightly WordPress version.
- Fixed quiz admin notification email was not sent out after a user completes a quiz even though the mail to addresses are set in the global quiz settings.
- Fixed an incorrect call of a function in the Quiz feature.
- Resolved an issue where a message from the quiz setting "Message after Essay is submitted" was not showing on empty answer.
- Resolved an issue where the required field message for Quiz Custom Fields would not show correctly for Number, Text, Email, and Date fields.
- Resolved an issue where the message field for correct and incorrect question answers in the quiz builder could not be switched to text mode.
- Resolved an issue where the question setting values in the quiz builder would not persist after the question was saved.
- Resolved an issue where Courses that have not been started yet would not show when using the
[ld_course_list]shortcode. - Resolved an issue where "Not Started" results could not be returned as expected under LearnDash LMS -> Reports.
Tweaks
- Improved the UX of the quiz template saving process on the LearnDash quiz edit page.
- Improved headers accessibility on the quiz page in the focus mode.
- Support StellarSites license key authorization.
- Improved accessibility for the progress indicator.
- Improved accessibility for Required Custom Fields in Quizzes.
- Improved accessibility for alerts shown for reached points in Quizzes.
- Improved accessibility for question text and answer options.
- Improved accessibility for alerts shown for Required Custom Fields in Quizzes.
- Improved accessibility for quiz custom fields form.
- Improved accessibility for the back to course link on the course step pages.
- Improved accessibility for when only one Tabbed element exists on a page.
- Improved accessibility for landmarks on focus mode pages.
- Compatibility update of our telemetry library.
- Improved the Licensing API Component with enhanced caching, validation, and error handling.
- Updated functions:
learndash_reports_get_activity,learndash_sanitize_version_string. - Updated templates:
themes/ld30/templates/focus/index.php,themes/ld30/templates/focus/masthead.php,themes/ld30/templates/focus/sidebar.php,themes/ld30/templates/modules/infobar.php,themes/ld30/templates/modules/course-steps.php,themes/ld30/templates/modules/tabs.php,themes/ld30/templates/modules/tabs_group.php,themes/legacy/templates/quiz/partials/show_quiz_form_box.php,themes/legacy/templates/quiz/partials/show_quiz_info_page_box.php,themes/legacy/templates/quiz/partials/show_quiz_questions_box.php,themes/legacy/templates/quiz/partials/show_quiz_result_box.php.
Features
- Added the new Modern Course Page, which can be toggled under LearnDash > Settings > General.
Tweaks
- Added the "Modern Registration Page" and "Modern Course Page" fields to the Site Health Info page in the admin.
- Migrated the LearnDash > Settings > Registration/Login - Appearance field to the General tab.
- Added functions:
learndash_registration_page_build_url. - Updated functions:
learndash_get_login_url,learndash_get_wrapper_class. - Added filters:
learndash_ld30_modern_course_show_header,learndash_ld30_modern_course_show_sidebar,learndash_model_course_award_certificate,learndash_model_course_award_points,learndash_model_course_certificate_link,learndash_model_course_has_awards,learndash_model_course_has_requirements,learndash_model_course_has_steps,learndash_model_course_lessons_number,learndash_model_course_lessons,learndash_model_course_product,learndash_model_course_quizzes_number,learndash_model_course_requirement_points,learndash_model_course_requirement_prerequisites,learndash_model_course_topics_number,learndash_model_setting,learndash_model_{$post_type_key}_available_on_date,learndash_model_{$post_type_key}_course,learndash_model_{$post_type_key}_is_attendance_required,learndash_model_{$post_type_key}_is_complete,learndash_model_{$post_type_key}_is_external,learndash_model_{$post_type_key}_is_in_person,learndash_model_{$post_type_key}_is_sample,learndash_model_{$post_type_key}_is_virtual,learndash_model_{$post_type_key}_quizzes_number,learndash_model_{$post_type_key}_quizzes,learndash_model_{$post_type_key}_steps_filter_by_visibility,learndash_model_{$post_type_key}_topics_number,learndash_payment_button_label_course,learndash_template_views_course_tabs,learndash_template_views_tabs,learndash_template_view_context,learndash_theme_supports_views`. - Updated filters:
learndash_model_product_type_label,learndash_wrapper_class. - Added actions:
learndash_version_downgraded_to_$version,learndash_version_downgraded,learndash_version_upgraded_to_$version,learndash_version_upgraded.
Fixes
- Fixed activity widget not showing activity for cases when a user gets enrolled in a course.
- Fixed activity widget not respecting the statuses set in the filter.
Performance
- Optimized the performance of activity data queries made via the learndash_reports_get_activity() function, especially for sites with many posts and users when their activity meta is fetched.
- Optimized activity widget by not querying additional activity meta that it doesn't use.
- Optimized the progress chart widget by lowering memory consumption and improving its performance on large sites.
- Optimized functions:
learndash_reports_get_activity.
Tweaks
- Updated functions:
learndash_reports_get_activity. - Added filters:
learndash_user_activity_meta_query_joins,learndash_user_activity_meta_query_where,learndash_user_activity_query_group_by,learndash_user_activity_results.
