As part of its being an open-source project, Elementor includes an extensive developers API, enabling the creation of a vast eco-system of 3rd party extensions that build on and enhance Elementor’s capabilities.
However, there are aspects of Elementor’s codebase that are not officially exposed and/or documented in our Developer Docs. From time to time, 3rd party extension developers utilize code from Elementor’s codebase which has not been officially exposed and documented.
This can cause problems for Elementor users who also use such extensions, in cases where such 3rd party developers do not use Elementor’s code as intended, or fail to update their extensions to make them compatible with the latest versions of Elementor and/or Elementor Pro. In some cases, such incompatibilities also result in complaints to Elementor’s support department about issues that were not directly caused by our plugins.
In order to prevent compatibility problems between different versions of Elementor and 3rd party plugins, we are introducing a Compatibility Tag mechanism that notifies users about plugins that are not compatible to their currently-installed version of Elementor. This will make the relationship between Elementor and 3rd party extensions more transparent, and will make it easier to debug issues if any arise.
What Exactly is the Compatibility Tag?
As mentioned earlier, when users upgrade Elementor’s Core version, compatibility issues with 3rd party plugins might occur. In an attempt to avoid these types of problems, we are promoting a new plugin header that any plugin creator can add to their plugin, declaring the latest version of Elementor their plugin was successfully tested against (“tested up to”).
Before upgrading a major version of Elementor Core and Pro, Elementor will display a warning message indicating possibly incompatible plugins.
Who Should Use the Compatibility Tag?
Any plugin that extends Elementor’s codebase should use the compatibility tag.
Every plugin that includes the word ‘Elementor’ in its name will be automatically detected as an Elementor addon, and will require the declaration of a compatibility tag, otherwise Elementor will mark its compatibility as ‘Unknown’.
How to Add the Compatibility Tag
Every WordPress plugin, in its main plugin file, includes a comment with information about the plugin. WordPress uses these tags to manage plugin versions and updates, publish plugin information in the repository, determine compatibility with WordPress versions, and more. For more information about Plugin Headers, see WordPress’ Header Requirements documentation.
To add an Elementor Compatibility Tag, add the following lines to the Plugin Header:
* Elementor tested up to: x.x.x
* Elementor Pro tested up to: x.x.x
Examples
Here is how a Plugin Header would look before adding Elementor compatibility tag:
<?php
/**
* Plugin Name: Test Plugin A
* Description: This is an example plugin
* Plugin URI: https://example.com
* Author: Example name
* Version: 1.0.0
*/
Here is how the Plugin Header would look after adding the Elementor compatibility tag:
<?php
/**
* Plugin Name: Test Plugin A
* Description: This is an example plugin
* Plugin URI: https://example.com
* Author: Example name
* Version: 1.0.0
* Elementor tested up to: 2.10.0
* Elementor Pro tested up to: 2.10.0
*/
In the example above, the latest version of Elementor which “Test Plugin A” was tested against is 2.10.0
.
If a user, who has “Test Plugin A” installed, gets notified that a new version of Elementor is available, and that version is later than 2.10.0 – “Test Plugin A” will be listed in a compatibility warning message under the plugin’s ‘update now’ link. This will let the user know that the plugin has not yet been tested with the new Elementor version.
Important note
The compatibility system only checks for major versions (x.x.x
). The mechanism does not notify incompatibility with patch versions. If we continue with the example above, if the new version of Elementor will be 2.10.1
or 2.10.99
, the “Test Plugin A” plugin will not be listed in the incompatible warning message.