72% fp-team-slider

Code Review | FP Team Slider

WordPress plugin FP Team Slider scored72%from 54 tests.

About plugin

  • Plugin page: fp-team-slider
  • Plugin version: 1.0
  • PHP version: 7.4.16
  • WordPress compatibility: 3.1-4.7.4
  • WordPress version: 6.3.1
  • First release: May 14, 2017
  • Latest release: May 15, 2017
  • Number of updates: 11
  • Update frequency: every 1.2 days
  • Top authors: furiousplugin (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /1,146 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Installer ran successfully

Server metrics [RAM: ▲0.49MB] [CPU: ▼4.10ms] Passed 4 tests

This is a short check of server-side resources used by FP Team Slider
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.72 ▲0.2641.70 ▼1.17
Dashboard /wp-admin3.88 ▲0.5751.84 ▲0.67
Posts /wp-admin/edit.php3.90 ▲0.5448.99 ▼5.25
Add New Post /wp-admin/post-new.php6.48 ▲0.5990.15 ▼10.63
Media Library /wp-admin/upload.php3.80 ▲0.5739.75 ▲2.61
Add New /wp-admin/post-new.php?post_type=fp_team_slider4.0751.28
Teams /wp-admin/edit.php?post_type=fp_team_slider3.8542.02

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

Filesystem and database footprint
No storage issues were detected
Filesystem: 117 new files
Database: no new tables, 7 new options
New WordPress options
recovery_mode_email_last_sent
widget_theysaidso_widget
theysaidso_admin_options
widget_recent-posts
db_upgraded
widget_recent-comments
can_compress_scripts

Browser metrics Passed 4 tests

A check of browser resources used by FP Team Slider
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,943 ▲18213.51 ▼1.059.74 ▲8.0641.87 ▼0.87
Dashboard /wp-admin2,233 ▲565.67 ▲0.0684.35 ▼20.6441.43 ▼14.76
Posts /wp-admin/edit.php2,141 ▲412.06 ▲0.0937.98 ▼1.5534.75 ▼4.56
Add New Post /wp-admin/post-new.php1,556 ▲2823.89 ▲0.70673.12 ▼9.0849.27 ▼15.77
Media Library /wp-admin/upload.php1,441 ▲414.34 ▲0.1396.69 ▼16.8543.03 ▼4.66
Add New /wp-admin/post-new.php?post_type=fp_team_slider1,2711.338.5828.31
Teams /wp-admin/edit.php?post_type=fp_team_slider1,1081.9532.6229.39

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

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

Smoke tests 25% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
These server-side errors were triggered
    • > GET request to /wp-admin/post-new.php?post_type=fp_team_slider
    • > Compile error in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_File.php+15
    Declaration of CMB2_Type_File::render() must be compatible with CMB2_Type_Text::render($args = Array)

SRP 0% from 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please take a closer look at the following
  • 1× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/fp-team-slider/fp-team-slider.php
  • 37× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Base' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Text_Date' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Text_Time.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Multi_Base' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Radio.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_REST_Controller' not found in wp-content/plugins/fp-team-slider/CMB2/includes/rest-api/CMB2_REST_Controller_Boxes.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_File_Base' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_File_List.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Taxonomy_Multicheck' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Taxonomy_Multicheck_Hierarchical.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Multi_Base' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Taxonomy_Base.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Textarea' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Textarea_Code.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Text' not found in wp-content/plugins/fp-team-slider/CMB2/includes/types/CMB2_Type_Colorpicker.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Base' not found in wp-content/plugins/fp-team-slider/CMB2/includes/CMB2_Field.php:17

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
There were no browser issues found

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that need to be fixed:
  • Screenshots: Screenshot #1 (Example Screenshot.) image not found
The official readme.txt is a good inspiration

fp-team-slider/fp-team-slider.php Passed 13 tests

"FP Team Slider" version 1.0's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
66 characters long description:
Most advanced team slider on the universe to display team members.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
Success! There were no dangerous files found in this plugin12,705 lines of code in 90 files:
LanguageFilesBlank linesComment linesLines of code
PHP551,8595,2476,142
CSS161,1271,1685,083
Sass14267251,265
JavaScript549129215

PHP code Passed 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.50
Average class complexity17.74
▷ Minimum class complexity1.00
▷ Maximum class complexity168.00
Average method complexity3.27
▷ Minimum method complexity1.00
▷ Maximum method complexity28.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes65
▷ Abstract classes812.31%
▷ Concrete classes5787.69%
▷ Final classes00.00%
Methods482
▷ Static methods7315.15%
▷ Public methods39682.16%
▷ Protected methods8317.22%
▷ Private methods30.62%
Functions23
▷ Named functions23100.00%
▷ Anonymous functions00.00%
Constants9
▷ Global constants333.33%
▷ Class constants666.67%
▷ Public constants6100.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
17 PNG files occupy 1.29MB with 0.34MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
CMB2/images/ui-icons_2e83ff_256x240.png4.27KB4.11KB▼ 3.78%
CMB2/images/ui-icons_454545_256x240.png4.27KB4.11KB▼ 3.78%
screenshot-1.png160.87KB61.20KB▼ 61.96%
screenshot-3.png866.54KB520.11KB▼ 39.98%
CMB2/images/ui-icons_888888_256x240.png5.23KB4.11KB▼ 21.49%