90% connect-polylang-elementor

Code Review | Connect Polylang for Elementor

WordPress plugin Connect Polylang for Elementor scored90%from 54 tests.

About plugin

  • Plugin page: connect-polylang-...
  • Plugin version: 2.4.3
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.4-6.2
  • WordPress version: 6.3.1
  • First release: Nov 28, 2018
  • Latest release: Jun 30, 2023
  • Number of updates: 56
  • Update frequency: every 29.9 days
  • Top authors: pacotole (60.71%)daveshine (26.79%)p4fbradjohnson (16.07%)

Code review

54 tests

User reviews

46 reviews

Install metrics

100,000+ active /989,129 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully

Server metrics [RAM: ▲0.05MB] [CPU: ▼6.59ms] Passed 4 tests

Analyzing server-side resources used by Connect Polylang for Elementor
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /3.49 ▲0.0343.92 ▲2.87
Dashboard /wp-admin3.36 ▲0.0643.27 ▼6.31
Posts /wp-admin/edit.php3.47 ▲0.1246.12 ▲1.64
Add New Post /wp-admin/post-new.php5.94 ▲0.0680.98 ▼18.95
Media Library /wp-admin/upload.php3.28 ▲0.0633.59 ▼2.73

Server storage [IO: ▲0.55MB] [DB: ▲0.00MB] Passed 3 tests

A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 275 new files
Database: no new tables, 6 new options
New WordPress options
widget_theysaidso_widget
db_upgraded
theysaidso_admin_options
widget_recent-comments
can_compress_scripts
widget_recent-posts

Browser metrics Passed 4 tests

This is an overview of browser requirements for Connect Polylang for Elementor
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,800 ▲5413.17 ▼1.141.79 ▲0.0137.98 ▼5.03
Dashboard /wp-admin2,203 ▲125.79 ▲0.8494.75 ▼15.0637.86 ▼1.91
Posts /wp-admin/edit.php2,089 ▼02.02 ▲0.0138.74 ▲0.2135.43 ▼1.39
Add New Post /wp-admin/post-new.php1,533 ▲1923.48 ▲5.97569.96 ▼105.8454.09 ▼14.16
Media Library /wp-admin/upload.php1,388 ▼04.27 ▲0.0792.70 ▼15.8840.47 ▼5.36

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
  • Zombie WordPress options were found after uninstall: 6 options
    • db_upgraded
    • widget_recent-comments
    • widget_recent-posts
    • theysaidso_admin_options
    • can_compress_scripts
    • widget_theysaidso_widget

Smoke tests Passed 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested

SRP Passed 2 tests

🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
The SRP test was a success

User-side errors Passed 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
9 plugin tags: elementor, language switcher, templates, widget, multilingual...

connect-polylang-elementor/connect-polylang-elementor.php 92% from 13 tests

The main PHP file in "Connect Polylang for Elementor" ver. 2.4.3 adds more information about the plugin and also serves as the entry point for this plugin
The following require your attention:
  • Description: Please keep the plugin description shorter than 140 characters (currently 150 characters long)

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
No dangerous file extensions were detected2,440 lines of code in 270 files:
LanguageFilesBlank linesComment linesLines of code
PHP186238281,837
CSS2537298
SVG24800248
JSON10034
Markdown111023

PHP code Passed 2 tests

An short overview of logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.44
Average class complexity11.00
▷ Minimum class complexity1.00
▷ Maximum class complexity75.00
Average method complexity2.76
▷ Minimum method complexity1.00
▷ Maximum method complexity30.00
Code structure
Namespaces5
Interfaces0
Traits2
Classes13
▷ Abstract classes00.00%
▷ Concrete classes13100.00%
▷ Final classes00.00%
Methods85
▷ Static methods11.18%
▷ Public methods7284.71%
▷ Protected methods67.06%
▷ Private methods78.24%
Functions16
▷ Named functions1593.75%
▷ Anonymous functions16.25%
Constants5
▷ Global constants480.00%
▷ Class constants120.00%
▷ Public constants1100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
There were not PNG files found in your plugin