This document outlines how to migrate to WSL 2.2+ and it's ONLY aimed at WSL users who are either using the depreciated hooks, depreciated CSS selectors, internal functions or Steam users identifiers form previous versions. Otherwise, you may update the plugin to new version without any issue.

Let us know if there is something unclear or left uncovered.

Migrating to WSL 2.2.3 Developer API

Developers Release Notes

This release (i.e, 2.2.3) did focus on code health and flexibility and it was necessary to move some code around, and to remove few functions and hooks. We know, it sucks to break WSL API at such short notice, but it was indispensable and unavoidable as we're trying to move the project forward.

As announced on WSL Support Forum, this is by no means a drastic change to the API. In fact, we tried our best to keep the said changes to a strict minimum, and the vast majority of WSL users will not be affected.

Those breaking changes are:

  • Deprecated hooks, prior to 2.2.2, have been removed.
  • Deprecated CSS selectors, prior to 2.2.2, have been removed.
  • Deprecated internal functions have been removed.
  • Few internal functions have been either removed, renamed or slightly changed.
  • Few pluggable functions has slightly changed.
  • Steam's users identifiers are converted to a new format.

On this release we have reworked Steam provider to fully support their new Web API, and we decided to change Steam's users identifiers to SteamID64. When updated, WSL 2.2.3 will automatically convert all the existing steam users identifiers in wslusersprofiles to the new format.

It's worth mentioning that in upcoming releases and before we hit WSL 3.0, we're planning to rework other parts of the codebase; for instance user database functions will be re-factored using an ORM, and profile completion will be replaced by new module.

We explicitly discourage you from using, or hacking, any internal function (i.e., Not publicly documented on WSL dev API), as they are now subject to change in subsequent releases. If it wasn't possible to achieve some required functionality in a proper way through the already available and documented WSL hooks, please ask for support before resorting to hacks.

Upon reaching WSL 3.0 as a major milestone, our priorities will flip to maintenance and stability (i.e, repair code health, enhance code coverage) rather than developing new features. This massive rewrite aims to make WSL more modular easily extended through plugins and add-ons (e.g., http://miled.github.io/wsl-users-converter/).

Steam identifiers

Previous WSL version used to store the entire Steam's users OpenID identifiers and we decided to change it to SteamID64. When updated, WSL 2.2.3 will automatically convert all the existing steam users identifiers in wslusersprofiles to the new format.

Type Deprecated (old format) Replacement (new format)
Users Identifiers http://steamcommunity.com/openid/id/{SteamID64} {SteamID64}

Depreciated hooks

Authentication Process

Type Deprecated Replacement
Filter wsl_hook_process_login_alter_userdata wsl_hook_process_login_alter_wp_insert_user_data
Action wsl_hook_process_login_before_insert_user wsl_hook_process_login_before_wp_insert_user
Action wsl_hook_process_login_after_create_wp_user wsl_hook_process_login_after_wp_insert_user
Action wsl_hook_process_login_before_set_auth_cookie wsl_hook_process_login_before_wp_safe_redirect

WSL Widget Generator

Type Deprecated Replacement
Action wsl_render_login_form_start wsl_render_auth_widget_start
Filter wsl_alter_hook_provider_icon_markup wsl_render_auth_widget_alter_provider_icon_markup
Filter wsl_render_login_form_alter_provider_icon_markup wsl_render_auth_widget_alter_provider_icon_markup
Action wsl_render_login_form_end wsl_render_auth_widget_end

Deprecated CSS selectors

All elements IDs generated by WSL Widget are replaced by CSS classes.

Deprecated Replacement
#wp-social-login-connect-with .wp-social-login-connect-with
#wp-social-login-connect-options .wp-social-login-provider-list
.wsl_connect_with_provider .wp-social-login-provider

Internal functions

As stated on release notes. In the WSL 2.2.3 we have moved some code around which resulted on removing few internals. These internals should never be used on the first place, but as we expect some WSL end users to still use them regardless of any given warning, we kept few of them inside the code so their websites doesn't break when updating to newer versions.

Deprecated Replacement
wsl_render_login_form() wsl_render_auth_widget(). Note: It's better to use WSL action instead.
wsl_render_login_form_login() wsl_action_wordpress_social_login()
wsl_shortcode_handler() wsl_shortcode_wordpress_social_login()
wsl_user_custom_avatar() wsl_get_wp_user_custom_avatar()
wsl_bp_user_custom_avatar() wsl_get_bp_user_custom_avatar()
wsl_render_comment_form() Not meant to be used directly. Use WSL action instead: wsl_action_wordpress_social_login
wsl_render_login_form_login_form() Not meant to be used directly. Use WSL action instead: wsl_action_wordpress_social_login
wsl_render_login_form_login_on_register_and_login() Not meant to be used directly. Use WSL action instead: wsl_action_wordpress_social_login
wsl_render_wsl_widget_in_comment_form() Not meant to be used directly. Use WSL action instead: wsl_action_wordpress_social_login
wsl_render_wsl_widget_in_wp_login_form() Not meant to be used directly. Use WSL action instead: wsl_action_wordpress_social_login
wsl_render_wsl_widget_in_wp_register_form() Not meant to be used directly. Use WSL action instead: wsl_action_wordpress_social_login

All these functions are defined on /includes/settings/wsl.compatibilities.php, under section Old Junk and they will be permanently removed as for WSL 3.0.

In conclusion, there is two things to keep in mind:

  • Everything covered in WSL documentation is considered stable and LTS.
  • Anything else is reserved for internal use and should never be used by end users as it is subject to change without warning.


Please, do not submit issues here.

This comment section is for a general question and feedback. If you want to report a bug, please refer to the Support section.