Version 7.0.0-rc.1
Pre-release
Pre-release
v7.0.0-rc.1 - 2022-09-14
New Features
- Added handling for admin settings options that store their option values in a nested array.
- Added new AJAX checkout and payment source switching endpoints for payment gateways to utilize instead of the preexisting synchronous form submission methods.
- On purchase completed retrieve the redirection URL from the INPUT_POST 'redirect' variable, if no 'redirect' variable is passed via INPUT_GET. The INPUT_POST 'redirect' variable comes from the new checkout form's hidden field 'redirect' populated with LLMS_Access_Plan::get_redirection_url(). #2229
Updates and Enhancements
- When an order post is restored from the trash its post status will now be "llms-pending" in favor of the default "draft" status.
Bug Fixes
- Don't attempt to lookup the default payment gateway from user meta data.
- Fixed an issue that prevented disabling the access plan’s option, Override Membership Redirects, once enabled. #2234
- Disabled
scroll-behavior: smooth
on checkout screen to address form element validity checking issues on Chromium-based browsers. #2206
Deprecations
- Deprecated
LLMS_Controller_Orders::switch_payment_source()
in favor ofLLMS_Controller_Checkout::switch_payment_source()
. - Deprecated the
lifterlms_update_option_{$type}
action in favor of thellms_update_option_{$type}
filter. - Method
LLMS_Controller_Orders::confirm_pending_order()
is deprecated in favor ofLLMS_Controller_Checkout::confirm_pending_order()
. - Method
LLMS_Controller_Orders::create_pending_order()
is deprecated in favor ofLLMS_Controller_Checkout::create_pending_order()
. - Method
LLMS_Controller_Orders::switch_payment_source()
is deprecated in favor ofLLMS_Controller_Checkout::switch_payment_source()
. - Passing jQuery selections into the
window.LLMS.Spinner
functions is deprecated. Use JSElements
or selection strings parseable bydocument.querySelector()
instead. - Deprecated hook
llms_{$method}_title
in favor ofllms_{$method}_refund_title
.
Developer Notes
- Added admin settings helper function,
llms_get_dashicon_link()
, intended to enable the addition of external resource helper links to settings field descriptions. - The
LLMS_Student
object can be instantiated as an empty object and bypass current user autoloading. In the future this may affect integrations using thelifterlms_new_pending_order
action hook which will receive an "empty" student object during order setup by gateways utilizing new AJAX-powered checkout endpoints. - Added a filter,
llms_gateway_{$this->id}_logging_enabled
, which will allow force enabling/disabling of gateway logging functions. - Improved payment gateway secure string logging by adding a method,
add_secure_string()
allowing developers to add secure strings during runtime without the necessity of registering the strings using filters. - Introduces new function
llms_is_option_secure()
for determining if an "secured" option is defined in a "secure" manner. - Implemented new gateway feature:
modify_recurring_payments
. #2176 - Added two new parameters to LLMS_Access_Plan::get_redirection_url() -
$encode
to optionally get a raw (not encoded) URL. -$querystring_only
to optionally get only the redirect URL if set via NPUT_GET variable. - Added new parameter
$querystring_only
to the filter hookllms_plan_get_checkout_redirection
. - Admin settings fields now display
after_html
for additional field types which supportdesc
. - The CSS for
.llms-spinning
and.llms-spinner
elements is no longer loaded as part of thelifterlms.css
andadmin.css
files, instead it is loaded dynamically whenwindow.LLMS.Spinner
functions are called. In some cases CSS overrides to these elements which relied on CSS rule load order may no longer successfully override the default CSS rules. These overrides may need to be updated to have more specific selectors in order to ensure the overrides are retained. - The Javascript object,
window.LLMS.Spinner
, has been converted to a module accessible from the same variable. - The
window.LLMS.Spinner
methods now accept JS Elements and selector strings parseable bydocument.querySelector()
in addition to jQuery selections. - Added new filter
llms_transaction_can_be_refunded
enabling custom refund restrictions to be applied to a transaction.