78% sliderpro

Code Review | Slider Pro

WordPress plugin Slider Pro scored78%from 54 tests.

About plugin

  • Plugin page: sliderpro
  • Plugin version: 4.8.8
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-6.4
  • WordPress version: 6.3.1
  • First release: Jul 14, 2021
  • Latest release: Nov 15, 2023
  • Number of updates: 25
  • Update frequency: every 34.2 days
  • Top authors: bqworks (100%)

Code review

54 tests

User reviews

6 reviews

Install metrics

5,000+ active /33,802 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Installer ran successfully

Server metrics [RAM: ▲0.97MB] [CPU: ▲6.77ms] Passed 4 tests

Server-side resources used by Slider Pro
This plugin has minimal impact on server resources
PageMemory (MB)CPU Time (ms)
Home /4.14 ▲0.6847.29 ▲6.49
Dashboard /wp-admin4.42 ▲1.1252.13 ▲4.84
Posts /wp-admin/edit.php4.47 ▲1.1151.67 ▲8.88
Add New Post /wp-admin/post-new.php6.94 ▲1.06100.90 ▲6.86
Media Library /wp-admin/upload.php4.28 ▲1.0544.50 ▲13.41
Add New /wp-admin/admin.php?page=sliderpro-new4.3647.81
Documentation /wp-admin/admin.php?page=sliderpro-documentation4.2841.80
All Sliders /wp-admin/admin.php?page=sliderpro4.3352.75
Plugin Settings /wp-admin/admin.php?page=sliderpro-settings4.2938.29
Add-ons /wp-admin/admin.php?page=sliderpro-add-ons4.39204.48

Server storage [IO: ▲3.07MB] [DB: ▲0.01MB] Passed 3 tests

Filesystem and database footprint
No storage issues were detected
Filesystem: 128 new files
Database: 3 new tables, 10 new options
New tables
wp_slider_pro_layers
wp_slider_pro_sliders
wp_slider_pro_slides
New WordPress options
widget_recent-posts
widget_theysaidso_widget
widget_bqw-sliderpro-widget
theysaidso_admin_options
db_upgraded
can_compress_scripts
sliderpro_version
sliderpro_setting_presets
widget_recent-comments
sliderpro_lightbox_sliders

Browser metrics Passed 4 tests

Checking browser requirements for Slider Pro
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,828 ▲4114.48 ▲0.281.55 ▼0.6138.08 ▼5.92
Dashboard /wp-admin2,218 ▲415.54 ▼0.1194.07 ▼8.1682.91 ▲34.90
Posts /wp-admin/edit.php2,141 ▲381.97 ▲0.0238.87 ▼0.2436.53 ▼0.37
Add New Post /wp-admin/post-new.php6,398 ▲4,87227.57 ▲4.43945.57 ▲207.8739.39 ▼16.83
Media Library /wp-admin/upload.php1,441 ▲444.18 ▼0.0698.96 ▼9.3577.30 ▲32.05
Add New /wp-admin/admin.php?page=sliderpro-new2,6255.81108.6468.22
Documentation /wp-admin/admin.php?page=sliderpro-documentation3,3163.6758.57100.26
All Sliders /wp-admin/admin.php?page=sliderpro1,1683.4451.7866.59
Plugin Settings /wp-admin/admin.php?page=sliderpro-settings1,2843.4547.6693.17
Add-ons /wp-admin/admin.php?page=sliderpro-add-ons1,1173.4843.4381.37

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
  • This plugin does not fully uninstall, leaving 8 options in the database
    • can_compress_scripts
    • theysaidso_admin_options
    • widget_recent-posts
    • widget_theysaidso_widget
    • db_upgraded
    • sliderpro_setting_presets
    • widget_bqw-sliderpro-widget
    • widget_recent-comments

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Almost there! Just fix the following items
  • 2× PHP files output text when accessed directly:
    • > /wp-content/plugins/sliderpro/admin/views/slide/slide.php
    • > /wp-content/plugins/sliderpro/admin/views/add-ons/add-on-more-details.php
  • 45× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Notice
      Undefined variable: content_class in wp-content/plugins/sliderpro/admin/views/slide-editors/thumbnail-editor.php on line 2
    • > PHP Fatal error
      Uncaught Error: Class 'BQW_SP_Dynamic_Slide_Renderer' not found in wp-content/plugins/sliderpro/public/class-gallery-slide-renderer.php:7
    • > PHP Notice
      Undefined variable: content_class in wp-content/plugins/sliderpro/admin/views/slide-editors/main-image-editor.php on line 2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/sliderpro/admin/views/settings/plugin-settings.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/sliderpro/admin/views/slider/slider.php:2
    • > PHP Notice
      Undefined variable: add_on_data in wp-content/plugins/sliderpro/admin/views/add-ons/add-on-more-details.php on line 5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/sliderpro/admin/views/slide-editors/settings-editor.php:10
    • > PHP Fatal error
      Uncaught Error: Class 'BQW_SP_Layer_Renderer' not found in wp-content/plugins/sliderpro/public/class-heading-layer-renderer.php:7
    • > PHP Notice
      Undefined variable: slide_type in wp-content/plugins/sliderpro/admin/views/slide/slide.php on line 1
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/sliderpro/admin/views/slider-settings/default-panel.php:48

User-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need your attention:
  • Tags: There are too many tags (11 tag instead of maximum 10)
You can look at the official readme.txt

sliderpro/sliderpro.php Passed 13 tests

The primary PHP file in "Slider Pro" version 4.8.8 is used by WordPress to initiate all plugin functionality
33 characters long description:
Elegant and professional sliders.

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
There were no executable files found in this plugin51,978 lines of code in 91 files:
LanguageFilesBlank linesComment linesLines of code
JSON50028,769
JavaScript153,5233,13911,579
PHP571,2152,3296,605
CSS116551263,417
HTML118001,545
Markdown113037
Sass14026

PHP code Passed 2 tests

This plugin's cyclomatic complexity and code structure detailed below
This plugin has no cyclomatic complexity problems
Cyclomatic complexity
Average complexity per logical line of code0.43
Average class complexity26.38
▷ Minimum class complexity2.00
▷ Maximum class complexity179.00
Average method complexity3.99
▷ Minimum method complexity1.00
▷ Maximum method complexity51.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes26
▷ Abstract classes00.00%
▷ Concrete classes26100.00%
▷ Final classes00.00%
Methods221
▷ Static methods3013.57%
▷ Public methods14766.52%
▷ Protected methods6228.05%
▷ Private methods125.43%
Functions3
▷ Named functions266.67%
▷ Anonymous functions133.33%
Constants3
▷ Global constants133.33%
▷ Class constants266.67%
▷ Public constants2100.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
24 PNG files occupy 0.61MB with 0.34MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
documentation/assets/images/thumbnail-editor.png59.56KB22.72KB▼ 61.85%
documentation/assets/images/slide-buttons.png4.91KB2.71KB▼ 44.82%
documentation/assets/images/html-editor.png11.26KB4.87KB▼ 56.77%
documentation/assets/images/layers-editor.png17.73KB7.57KB▼ 57.29%
documentation/assets/images/presets.png16.16KB6.90KB▼ 57.29%