LearnDash LMS
Features
- Added a migration guide to the PayPal Standard settings page to help users update subscriptions and switch to PayPal Checkout.
- Added a new
[ld_migrate_paypal_subscription]shortcode to help migrate PayPal Standard subscriptions to PayPal Checkout. - Added a new mechanism to retry payments for failed PayPal Checkout subscriptions.
Fixes
- Fixed an issue where limited subscriptions were charging one extra billing cycle when paid with PayPal Checkout.
- Fixed the OpenAPI security schemes array and empty properties.
- Removed an extra div element inside the Profile block.
Tweaks
- Added PayPal Checkout Status to Site Health.
- Display the "Saved Cards" section inside the Profile block only when a compatible payment gateway is enabled.
- Enhanced PayPal Checkout onboarding with increased connection timeouts and improved error messaging to provide a smoother setup experience.
- Improved checkout display by hiding the PayPal button and card fields when the selected payment method is not eligible.
- Improved the LearnDash Orders Edit Page and the Profile shortcode to include the reason why a subscription was canceled.
- Prevented the Telemetry Opt-in modal from showing during the onboarding wizard when setting up PayPal.
- When a PayPal Standard subscription is cancelled, a user is unenrolled from a course or a group automatically.
- Added actions:
learndash_paypal_standard_migration_shortcode_after. - Added filters:
learndash_profile_show_saved_cards,learndash_show_telemetry_modal,learndash_subscription_max_retries,learndash_subscription_payment_retry_email_message,learndash_subscription_payment_retry_email_placeholders,learndash_subscription_payment_retry_email_subject,learndash_subscription_retry_intervals. - Updated templates:
src/admin_views/modules/payments/orders/edit/subscription/details/cells/status.php,themes/ld30/templates/shortcodes/profile/saved-cards/index.php,themes/ld30/templates/shortcodes/profile/subscriptions/canceled/cancellation-date.php.
Features
- Added OpenAPI documentation for Course-related
ldlms/v2endpoints to/wp-json/learndash/v1/docs/openapi.
Tweaks
- Added the
topicparameter when retrieving assignments via theldlms/v2/sfwd-assignments/andldlms/v2/sfwd-assignments/{id}endpoints. - Added the following fields to the
ldlms/v2/sfwd-courses/andldlms/v2/sfwd-courses/{id}/endpoints when creating or updating a Course:course_start_date,course_end_date,course_seats_limit.
Features
- Merged course reviews addon feature to LearnDash core.
Fixes
- Fixed an issue where a new quiz question had zero points by default. Now it supports the LEARNDASH_LMS_DEFAULT_QUESTION_POINTS constant and is 1 by default.
- Fixed an issue where the "Groups" submenu was missing on the groups editor page.
- Resolved an issue where the Export User Course/Quiz Data buttons were missing on the Reports page.
Tweaks
- Improved compatibility with PHP 8.3.
- Removed open courses from Report Filters to avoid confusion.
- Added actions:
learndash_course_reviews_after_review_pagination,learndash_course_reviews_after_review,learndash_course_reviews_after_reviews,learndash_course_reviews_average_review,learndash_course_reviews_before_review,learndash_course_reviews_before_reviews,learndash_course_reviews_review_form,learndash_course_reviews_review_list,learndash_course_reviews_review_reply. - Added constants:
LEARNDASH_MODULE_COURSE_REVIEWS_DISABLED. - Added filters:
learndash_course_reviews_locate_template_args,learndash_course_reviews_locate_template_name,learndash_course_reviews_locate_template,learndash_course_reviews_render_reviews_args,learndash_course_reviews_show_review_form,learndash_course_reviews_user_has_not_started_course,learndash_course_reviews_user_has_started_course,learndash_course_reviews_user_logged_out_message,learndash_module_course_reviews_disabled. - Added functions:
LEARNDASHCOURSEREVIEWS,learndash_course_reviews_add_review,learndash_course_reviews_get_average_review_score,learndash_course_reviews_get_user_review,learndash_course_reviews_is_review_enabled,learndash_course_reviews_load,learndash_course_reviews_locate_template,learndash_course_reviews_star_rating,learndash_course_reviews_stars_input,learndash_course_reviews_user_has_started_course.
Features
- Added
wp-json/learndash/v1/docs/openapiREST API endpoint. - Added a new PayPal Checkout integration.
Tweaks
- Added PayPal Checkout to the setup wizard.
- Added a message on the setup page about the deprecation of the PayPal Standard gateway.
- Added a warning about the deprecation of the PayPal Standard gateway.
- Renamed "PayPal" to "PayPal Standard" in the payment gateways list.
- Added actions:
learndash_dialog_closed,learndash_dialog_opened,learndash_payment_subscription_after_failure_{$gateway_name},learndash_payment_subscription_after_success_{$gateway_name},learndash_payment_subscription_before_process_{$gateway_name},learndash_payment_subscription_check_due_payments,learndash_payment_subscription_process_due_payment,learndash_profile_add_card_form_content_loaded,learndash_profile_add_card_form_content,learndash_profile_add_card_submit,learndash_shortcode_profile_before_template. - Added filters:
learndash_handle_remove_card_{$gateway_id},learndash_model_product_final_price,learndash_model_user_cards,learndash_payment_subscription_batch_size,learndash_payment_subscription_check_end_timestamp,learndash_payment_subscription_check_start_timestamp,learndash_payment_subscription_daily_check_start_timestamp,learndash_payment_subscription_process_with_gateway_{$gateway_name},learndash_paypal_checkout_client_data,learndash_rest_endpoints,learndash_rest_openapi_documentation,learndash_rest_v1_common_schemas,learndash_settings_payments_show_paypal_standard,learndash_stripe_is_on_payments_setting_page,learndash_subscription_payment_method_information. - Updated templates:
src/admin_views/modules/payments/orders/edit/items/index.php,themes/ld30/templates/shortcodes/profile.php.
Features
- Added the new Modern Lesson and Topic Pages, which can be toggled under LearnDash > Settings > General -> Appearance -> Course Page.
Fixes
- Resolved an issue where if a Lesson was marked as a Sample Lesson and was set to be available in the future, the content could be visible for not logged in users.
Tweaks
- Removed duplicated "has access" check for Modern Course and Group pages.
- Updated the styling for Alerts on Modern Course and Group pages.
- Updated the styling of the Progress Bar for Modern Course and Group pages.
- Added filters:
learndash_ld30_modern_lesson_show_header,learndash_ld30_modern_topic_show_header,learndash_mapper_models_step_map,learndash_mark_complete_input_button_html,learndash_mark_complete_timer_html,learndash_model_assignment_can_be_deleted,learndash_model_assignment_delete_url,learndash_model_assignment_download_url,learndash_model_assignment_is_approved,learndash_model_assignment_points_awarded,learndash_model_assignment_related_step,learndash_model_assignment_uploaded_file_name,learndash_model_course_is_complete,learndash_model_course_is_linear_progression_enabled,learndash_model_group_last_activity,learndash_model_settings,learndash_model_topic_lesson,learndash_model_{$post_type_key}_is_content_visible,learndash_model_{$post_type_key}_is_video_watched,learndash_model_{$post_type_key}_next_step,learndash_model_{$post_type_key}_parent_step,learndash_model_{$post_type_key}_previous_step,learndash_model_{$post_type_key}_requires_watching_video_after_sub_steps,learndash_model_{$post_type_key}_requires_watching_video_before_sub_steps,learndash_model_{$post_type_key}_user_has_access,learndash_model_{$this->get_post_type_key()}_approved_assignments_number,learndash_model_{$this->get_post_type_key()}_assignment_points_maximum,learndash_model_{$this->get_post_type_key()}_assignment_upload_limit_size,learndash_model_{$this->get_post_type_key()}_assignments_number,learndash_model_{$this->get_post_type_key()}_assignments,learndash_model_{$this->get_post_type_key()}_has_assignment_points_enabled,learndash_model_{$this->get_post_type_key()}_last_activity,learndash_model_{$this->get_post_type_key()}_maximum_assignments_number,learndash_model_{$this->get_post_type_key()}_requires_assignments,learndash_model_{$this->get_post_type_key()}_submittable_assignments_number,learndash_model_{$this->get_post_type_key()}_supported_assignment_file_mime_types,learndash_model_{$this->get_post_type_key()}_supported_assignment_file_types,learndash_model_{$this->get_post_type_key()}_topics,learndash_progression_bar_is_complete,learndash_progression_bar_should_show,learndash_template_alert_action_type,learndash_template_alert_button_icon,learndash_template_alert_icon,learndash_template_alert_id,learndash_template_alert_link_target,learndash_template_alert_link_text,learndash_template_alert_link_url,learndash_template_alert_message,learndash_template_alert_type,learndash_template_breadcrumb_id,learndash_template_breadcrumb_is_last,learndash_template_breadcrumb_label,learndash_template_breadcrumb_url,learndash_template_progression_step_back_to_course_label,learndash_template_progression_step_back_to_course_url,learndash_template_progression_step_is_course_completed,learndash_template_progression_step_is_just_completed,learndash_template_progression_step_next_label,learndash_template_progression_step_next_short_label,learndash_template_progression_step_next_url,learndash_template_progression_step_previous_incomplete_step,learndash_template_progression_step_previous_label,learndash_template_progression_step_previous_short_label,learndash_template_progression_step_previous_url,learndash_template_progression_step_show_next,learndash_template_tab_content,learndash_template_tab_icon,learndash_template_tab_id,learndash_template_tab_is_first,learndash_template_tab_label,learndash_template_tab_order,learndash_template_tab_template,learndash_template_tabs_sorted,learndash_template_views_alerts,learndash_template_views_breadcrumbs,learndash_template_views_course_alerts,learndash_template_views_course_progress_bar,learndash_template_views_group_alerts,learndash_template_views_group_progress_bar,learndash_template_views_lesson_alerts,learndash_template_views_lesson_breadcrumbs,learndash_template_views_lesson_progress_bar,learndash_template_views_lesson_tabs,learndash_template_views_topic_alerts,learndash_template_views_topic_breadcrumbs,learndash_template_views_topic_progress_bar,learndash_template_views_topic_tabs. - Deprecated templates:
themes/ld30/templates/modern/course/alerts/certificate.php,themes/ld30/templates/modern/course/alerts/index.php,themes/ld30/templates/modern/course/alerts/progress.php. - Updated filters:
learndash_ld30_modern_course_show_header,learndash_ld30_modern_group_show_header. - Updated functions:
learndash_course_get_step_completion_data,learndash_mark_complete,learndash_process_mark_incomplete. - Updated templates:
themes/ld30/templates/modern/course/accordion/final-quizzes/heading.php,themes/ld30/templates/modern/course/accordion/final-quizzes/index.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/attributes/index.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/index.php,themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/title.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/topics.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/attributes/index.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/index.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/attributes/index.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/index.php,themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/title.php,themes/ld30/templates/modern/course/alerts/certificate.php,themes/ld30/templates/modern/course/alerts/progress.php,themes/ld30/templates/modern/course/header.php,themes/ld30/templates/modern/group/alerts/certificate.php,themes/ld30/templates/modern/group/alerts/progress.php,themes/ld30/templates/modern/group/header.php.
Fixes
- Resolved an issue where the "View" and "Trash" links for Orders were missing from the Orders listing screen.
Fixes
- Resolved an issue where "Fill in the blanks" question answer result indicators would overlap when the question contained multiple answer inputs across multiple lines.
- Fixed an issue where the Quiz Question Overview Table would horizontally scroll, instead of wrapping. This was a bug introduced in 4.22.1.
- Fixed an issue where fluid width elements added to the Quiz question container would not expand to fit as expected.
- Fixed the incorrect closing
<section>tag for thethemes/ld30/templates/modern/course/enrollment/pricing/closed/with-price.phptemplate. - Resolved a JS error on non-Focus Mode pages that prevented some functionality from working correctly.
- Resolved an issue where "Add New" buttons were missing in the backend for some content types created by addons.
- Resolved an issue where an "Add New" button was incorrectly shown for Orders and Assignments in the backend.
Tweaks
- Replaced references of "ProPanel" with "Reports" in the LearnDash Shortcode picker in the classic editor.
- Added
[ld_reports]as an alias for the[ld_propanel]shortcode. - Added easter egg.
- Updated templates:
themes/ld30/templates/modern/course/enrollment/pricing/closed/with-price.php. - Added filters:
learndash_module_extras_disabled.
Fixes
- Removed the redundant Chart Data call on the Reports Dashboard.
- Fixed an issue where the date filters didn't work for "Reports" widgets.
- Fixed non-available Group Administration admin page for group leaders and administrators with zero managed groups.
- Fixed an issue where the "Reports" admin menu tab item appeared on several unrelated LearnDash admin pages.
- Fixed duplicate report file name when downloading LearnDash report using different set of filters.
Tweaks
- Added new "Display Reports" setting to toggle on and off the Reports Dashboard, to optionally use instead of the
LEARNDASH_MODULE_REPORTS_DISABLEDconstant orlearndash_module_reports_disabledfilter. - Added more constants on the Support page.
Features
- Added "Presenter Mode" to the Focus Mode options.
Fixes
- Fixed an issue with the Quiz Builder not maintaining the Question Points when certain elements were updated.
- Fixed an issue where cloned courses would retain the original Stripe product ID and customers would get enrolled in both courses.
- Fixed an issue where some admin pages were not working correctly when the "LearnDash LMS" menu item was translated.
- Fixed an issue where LearnDash menu items were hidden behind the header when the menu was collapsed.
- Updated broken links on the Setup page.
- Fixed deprecation notice on quiz saving with PHP 8.2+.
Tweaks
- Improved styles for tabs on a quiz edit screen.
- Updated invalid license notice message.
- Improved accessibility to the Quiz Question Overview Table.
- Improved accessibility on the Download Certificate button.
- Updated required WP version to 6.6.
- Removed the last LearnDash WP version support policy notice.
