77% team-showcase-awesome

Code Review | Team Showcase - Team Members & Staff Profiles Showcase

WordPress plugin Team Showcase - Team Members & Staff Profiles Showcase scored 77% from 54 tests.

About plugin

  • Plugin page: team-showcase-awe...
  • Plugin version: 1.0.4
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0-6.1
  • WordPress version: 6.3.1
  • First release: Sep 14, 2020
  • Latest release: Dec 16, 2022
  • Number of updates: 19
  • Update frequency: every 43.5 days
  • Top authors: themesawesome (100%)

Code review

54 tests

User reviews

1 review

Install metrics

200+ active / 3,111 total downloads

Benchmarks

Plugin footprint 82% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed gracefully, with no errors

Server metrics [RAM: ▲1.57MB] [CPU: ▲7.13ms] 75% from 4 tests

An overview of server-side resources used by Team Showcase - Team Members & Staff Profiles Showcase
Please fix the following
  • RAM: Total memory usage must be kept under 10MB (currently 11.21MB on /wp-admin/post-new.php?post_type=team-awesome)
PageMemory (MB)CPU Time (ms)
Home /5.30 ▲1.8460.81 ▲16.43
Dashboard /wp-admin5.15 ▲1.8470.31 ▲15.23
Posts /wp-admin/edit.php5.19 ▲1.8468.86 ▲20.95
Add New Post /wp-admin/post-new.php6.66 ▲0.7869.98 ▼24.08
Media Library /wp-admin/upload.php5.05 ▲1.8255.86 ▲21.03
All Teams /wp-admin/edit.php?post_type=team-awesome5.1254.14
Add New /wp-admin/post-new.php?post_type=team-awesome11.21121.29

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

Input-output and database impact of this plugin
This plugin was installed successfully
Filesystem: 522 new files
Database: no new tables, 6 new options
New WordPress options
db_upgraded
widget_recent-comments
theysaidso_admin_options
widget_recent-posts
widget_theysaidso_widget
can_compress_scripts

Browser metrics Passed 4 tests

An overview of browser requirements for Team Showcase - Team Members & Staff Profiles Showcase
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,114 ▲37918.61 ▲4.031.83 ▼0.0442.68 ▼6.74
Dashboard /wp-admin2,530 ▲3399.14 ▲4.24172.14 ▲53.0238.61 ▼6.40
Posts /wp-admin/edit.php2,460 ▲3716.32 ▲4.2888.64 ▲54.0834.75 ▲0.17
Add New Post /wp-admin/post-new.php6,544 ▲5,01125.60 ▲2.44965.32 ▲275.0746.73 ▼10.44
Media Library /wp-admin/upload.php1,609 ▲2246.68 ▲2.50108.47 ▼4.0342.76 ▼5.75
All Teams /wp-admin/edit.php?post_type=team-awesome1,4256.1484.0530.70
Add New /wp-admin/post-new.php?post_type=team-awesome9,22311.64327.4642.61

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
You still need to fix the following
  • The uninstall procedure has failed, leaving 6 options in the database
    • theysaidso_admin_options
    • widget_recent-comments
    • widget_theysaidso_widget
    • db_upgraded
    • widget_recent-posts
    • can_compress_scripts

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Good news, no errors were detected

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following items
  • 1× PHP files output non-empty strings when accessed directly via GET requests:
    • > /wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/templates/Exception/incorrect-syntax.php
  • 136× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'Carbon_Fields\\Field\\Predefined_Options_Field' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Field/Select_Field.php:10
    • > PHP Fatal error
      Uncaught Error: Class 'Carbon_Fields\\Container\\Condition\\Condition' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Container/Condition/User_Capability_Condition.php:10
    • > PHP Fatal error
      Uncaught Error: Interface 'Carbon_Fields\\Pimple\\ServiceProviderInterface' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Provider/Container_Condition_Provider.php:10
    • > PHP Fatal error
      Uncaught Error: Interface 'Carbon_Field_Icon\\Providers\\Icon_Provider_Interface' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-field-icon/core/Providers/Dashicons_Provider.php:5
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/team-showcase-awesome/gutenberg-blocks/team-block.php on line 3
    • > PHP Fatal error
      Uncaught Error: Interface 'Carbon_Fields\\Datastore\\Datastore_Holder_Interface' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Field/Field.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'Carbon_Fields\\Service\\Service' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Service/Meta_Query_Service.php:12
    • > PHP Fatal error
      Uncaught Error: Class 'Carbon_Fields\\Service\\Service' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Service/REST_API_Service.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'Carbon_Fields\\Container\\Condition\\User_Capability_Condition' not found in wp-content/plugins/team-showcase-awesome/vendor/htmlburger/carbon-fields/core/Container/Condition/Current_User_Capability_Condition.php:10
    • > PHP Fatal error
      Uncaught Error: Call to undefined function carbon_get_post_meta() in wp-content/plugins/team-showcase-awesome/public/team-styles/team-style-5.php:2

User-side errors Passed 1 test

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

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
Attributes that need to be fixed:
  • Screenshots: Please add descriptions for these screenshots #1, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, #2, #20, #3, #4, #5, #6, #7, #8, #9 in team-showcase-awesome/assets to your readme.txt
Please take inspiration from this readme.txt

team-showcase-awesome/team-awesome.php 85% from 13 tests

The main PHP file in "Team Showcase - Team Members & Staff Profiles Showcase" ver. 1.0.4 adds more information about the plugin and also serves as the entry point for this plugin
Please take the time to fix the following:
  • Text Domain: Since WordPress version 4.6 the text domain is optional; if specified, it must be the same as the plugin slug
  • Main file name: It is recommended to name the main PHP file as the plugin slug ("team-showcase-awesome.php" instead of "team-awesome.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
There were no executable files found in this plugin43,361 lines of code in 453 files:
LanguageFilesBlank linesComment linesLines of code
CSS152,8311,73715,103
JavaScript1795,2868,68113,373
PHP1762,8267,16010,592
Sass4936501,922
PO File216147831,673
JSON800509
Markdown4450146
SVG10043

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
There were no cyclomatic complexity issued detected
Cyclomatic complexity
Average complexity per logical line of code0.28
Average class complexity7.77
▷ Minimum class complexity1.00
▷ Maximum class complexity50.00
Average method complexity2.01
▷ Minimum method complexity1.00
▷ Maximum method complexity18.00
Code structure
Namespaces25
Interfaces6
Traits0
Classes132
▷ Abstract classes118.33%
▷ Concrete classes12191.67%
▷ Final classes10.83%
Methods938
▷ Static methods9510.13%
▷ Public methods76081.02%
▷ Protected methods16918.02%
▷ Private methods90.96%
Functions128
▷ Named functions4031.25%
▷ Anonymous functions8868.75%
Constants37
▷ Global constants1232.43%
▷ Class constants2567.57%
▷ Public constants25100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
4 PNG files occupy 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant
FileSize - originalSize - compressedSavings
public/img/date-icon-vertical.png0.95KB0.17KB▼ 82.60%
public/img/timeline-bg.png0.08KB0.10KB0.00%
public/img/date-icon.png0.14KB0.18KB0.00%
public/img/timeline-vertical-bg.png0.91KB0.10KB▼ 89.19%