- Improved compatibility with LifterLMS engagements now also triggered on WooCommerce order completed.
- Added compatibility with LifterLMS > 5.0.
The Official Blog for LifterLMS Contributors
-
LifterLMS WooCommerce Version 2.2.0
Read more: LifterLMS WooCommerce Version 2.2.0 -
LifterLMS Version 5.0.0
Read more: LifterLMS Version 5.0.0User Information Form Builder
- Customize all user information collection forms using the block editor for drag and drop and WYSIWYG form building.
- Customize field labels, placeholders, descriptions and more with an easy point and click interface.
- Determine if fields are required or optional with a simple toggle switch.
- Update the form layout with the block editor. Reorder fields, add columns, and more with a simple drag and drop interface.
- Remove unwanted fields with the click of a button.
User Location Information Form Fields
- During user account creation and updates the user location fields are now locale aware ensuring that the proper terminology is used and only locale-required fields are displayed for the selected locale.
- The “Country” field has been updated to be automatically populated with a list of countries. View the full list in the file at
languages/countries.php
and the filterlifterlms_countries
can be used to modify the default list at runtime. - The “State” field on user forms has been updated to be automatically populated with a list of states (provinces or regions) for the selected country. This list of states can be found in the file at
languages/states.php
and the filterlifterlms_states
can be used to modify the default list at runtime. - Both “Country” and “State” fields are now searchable dropdowns elements.
- The lists of countries and states will be automatically updated during future releases based on information provided by GeoNames APIs.
Mergecodes everywhere via new
[llms-user]
shortcode- Allows merging most user information field data into any post or page, email, or notification (as well as widgets and more).
Updates
- Email and password confirmation fields may now be made optional.
- “User Information Options” have been largely removed in favor of determining which fields are displayed via the forms UI
- The former “User Information Options” settings area has been renamed to “User Privacy Options”.
- Removed email lookup logic since
wp_authenticate()
supports email addresses asuser_login
since WP 4.5. - Custom user fields added via filters are now displayed on the admin panel at priority 11 instead of 10.
- Added shortcode processing in LifterLMS-generated emails.
- If a symbol cannot be found for the supplied currency code, return the code instead of an empty string.
Bug Fixes
- Changed the filter on return of
LLMS_Person_Handler::get_password_reset_fields()
fromlifterlms_lost_password_fields
tollms_password_reset_fields
. - Fixed duplicate references to the
llms-select2
script.
Development changes
- Added before and after actions hooks for admin tools.
- The filter
lifterlms_before_user_${action}
is now triggered bydo_action_ref_array()
instead ofdo_action()
allowing modification of$posted_data
and$fields
via hooks. - A number of action and filter hooks have been moved to new locations within the codebase. They will continue to function as expected (with some minor exceptions).
- Enqueue select2 on account and checkout pages for searchable dropdowns for country & state.
- Stop loading removed processor “tabletocsv”.
Library & Vendor Updates
- Updates LifterLMS Blocks to version 2.0.1.
- Updates woocommerce/actions-scheduler to version 3.2.1.
- Load core libraries from new location and load WP Background Processing lib.
- The vendor script dependency
topModal.js
has been removed.
Templates Updated
- templates/checkout/form-checkout.php
- templates/checkout/form-confirm-payment.php
- templates/checkout/form-gateways.php
- templates/global/form-login.php
- templates/global/form-registration.php
- templates/myaccount/form-edit-account.php
- templates/product/free-enroll-form.php
Deprecations
The following have been deprecated and will be removed from LifterLMS in a major update following version 5.0.0.
- Class Method:
LLMS_Person_Handler::get_available_fields()
is deprecated in favor ofLLMS_Forms::get_form_fields()
. - Class Method:
LLMS_Person_Handler::register()
is deprecated, in favor ofllms_register_user()
. - Class Method:
LLMS_Person_Handler::sanitize_field()
(private method) is deprecated with no replacement. - Class Method:
LLMS_Person_Handler::update()
is deprecated, in favor ofllms_update_user()
. - Class Method:
LLMS_Person_Handler::validate_fields()
is deprecated with no replacement. - Class Method:
LLMS_Person_Handler::voucher_toggle_script()
is deprecated with no replacement. - Filter:
llms_usernames_blacklist
is deprecated, usellms_usernames_blocklist
instead. - Filter:
lifterlms_get_user_custom_fields
is deprecated with no replacement. - Function:
llms_get_minimum_password_strength()
is deprecated with no replacement. - Option:
lifterlms_registration_generate_username
is deprecated in favor of the new methodLLMS_Forms::are_usernames_enabled()
.
Removed Items
- Private method
LLMS_Processors::includes()
has been removed. - Private methods
LLMS_Person_Handler::fill_fields()
andLLMS_Person_Handler::insert_data()
were removed. - Previously deprecated class method
LLMS_Quiz::get_lessons()
has been removed. - Previously deprecated class method
LLMS_Controller_Quizzes::take_quiz()
has been removed. - Previously deprecated class
LLMS_Processor_Table_To_Csv
has been removed.
-
LifterLMS Blocks Version 2.0.1
Read more: LifterLMS Blocks Version 2.0.1- Use non-unique error notice IDs for reusable multiple error notice.
-
LifterLMS Gravity Forms Version 2.1.2
Read more: LifterLMS Gravity Forms Version 2.1.2- Added compatibility with LifterLMS 5.0
-
LifterLMS Ninja Forms Version 1.1.1
Read more: LifterLMS Ninja Forms Version 1.1.1- Added compatibility with LifterLMS 5.0
-
LifterLMS Blocks Version 2.0.0
Read more: LifterLMS Blocks Version 2.0.0Updates
- Adds LifterLMS User Information form building via the block editor.
- Initially compatibility for WordPress 5.8 (full site editing). Ensures core functionality but doesn’t add any exciting features.
- Improve the visual feedback inside the editor for a block with visibility restrictions.
- Added reusable block support for form fields.
- Adds a user information (
[llms-user]
) shortcode inserter to rich text block toolbars. - Use rich text
allowedFormats
in favor of deprecatedformattingControls
- Improved localization of Javascript files.
Bug Fixes
- Fixed issue encountered when using lesson progression blocks outside of a lesson, thanks @reedhewitt!
- Fixed fatal errors encountered if LifterLMS core isn’t active when this plugin is activated.
- Currently selected instructors are excluded from queries for instructor users.
- Fixed issue encountered on courses and memberships when attempting to edit instructor information.
Backwards Incompatible Changes
- Major refactor of all field-related blocks.
- The names of many field blocks have changed.
- Use
getDisallowedBlocks()
in favor of removedgetBlacklist()
inblock-visibility/check
. - Blocks restricted to specific posts have had the post object stored on the block attribute reduced to include only the minimum required properties.
- The
Search
,SearchPost
, andSearchUser
components have had major changes to make them more extendable. - Don’t render InspectorControls since the block doesn’t have any actual settings.