Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.17MB] [CPU: ▲2.74ms] Passed 4 tests
An overview of server-side resources used by Dynamic Product Categories Design
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.63 ▲0.16 | 49.12 ▲10.44 |
Dashboard /wp-admin | 3.48 ▲0.18 | 50.21 ▼2.90 |
Posts /wp-admin/edit.php | 3.53 ▲0.17 | 54.74 ▲5.29 |
Add New Post /wp-admin/post-new.php | 6.08 ▲0.20 | 99.31 ▲8.19 |
Media Library /wp-admin/upload.php | 3.40 ▲0.17 | 38.35 ▲0.38 |
Add New /wp-admin/post-new.php?post_type=dpcd_category_design | 3.83 | 49.02 |
All Designs /wp-admin/edit.php?post_type=dpcd_category_design | 3.45 | 35.80 |
Server storage [IO: ▲3.07MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 374 new files
Database: no new tables, 8 new options
New WordPress options |
---|
widget_recent-comments |
can_compress_scripts |
widget_theysaidso_widget |
theysaidso_admin_options |
widget_recent-posts |
wc_pcd_version |
wc_pcd_installed |
db_upgraded |
Browser metrics Passed 4 tests
A check of browser resources used by Dynamic Product Categories Design
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,835 ▲89 | 14.80 ▲0.45 | 1.83 ▲0.20 | 43.63 ▲2.31 |
Dashboard /wp-admin | 2,236 ▲59 | 5.69 ▲0.10 | 85.54 ▼7.79 | 39.46 ▼16.93 |
Posts /wp-admin/edit.php | 2,141 ▲38 | 2.06 ▲0.04 | 40.80 ▼1.23 | 36.31 ▼0.14 |
Add New Post /wp-admin/post-new.php | 1,559 ▲33 | 23.92 ▲1.03 | 649.82 ▼25.00 | 49.62 ▼12.42 |
Media Library /wp-admin/upload.php | 1,435 ▲35 | 4.29 ▲0.12 | 99.15 ▼5.63 | 43.30 ▼4.27 |
Add New /wp-admin/post-new.php?post_type=dpcd_category_design | 1,744 | 2.78 | 54.93 | 61.70 |
All Designs /wp-admin/edit.php?post_type=dpcd_category_design | 1,110 | 1.96 | 34.68 | 28.86 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
- The uninstall procedure has failed, leaving 8 options in the database
- db_upgraded
- wc_pcd_version
- wc_pcd_installed
- can_compress_scripts
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
- theysaidso_admin_options
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Almost there, just fix the following server-side errors
- 2 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=dpcd_category_design
- > Notice in wp-content/plugins/dynamic-product-categories-design/include/functions.php+27
Trying to get property 'slug' of non-object
- 2 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=dpcd_category_design
- > Notice in wp-content/plugins/dynamic-product-categories-design/include/functions.php+27
Trying to get property 'name' of non-object
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
Please fix the following
- 1× PHP files output non-empty strings when accessed directly via GET requests:
- > /wp-content/plugins/dynamic-product-categories-design/pcd-templates/template-grid.php
- 42× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Counter_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/types/CMB2_Type_Textarea.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Select' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/types/CMB2_Type_Select_Timezone.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Taxonomy_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/types/CMB2_Type_Taxonomy_Radio.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Hookup_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/rest-api/CMB2_REST.php:19
- > PHP Fatal error
Uncaught Error: Class 'CMB2_REST_Controller' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/rest-api/CMB2_REST_Controller_Boxes.php:17
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/CMB2.php:21
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/dynamic-product-categories-design/pcd-templates/template-grid.php on line 4
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_File_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/types/CMB2_Type_File_List.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Base' not found in wp-content/plugins/dynamic-product-categories-design/lib/cmb2/includes/CMB2_Field.php:17
- > PHP Fatal error
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 90% 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
These attributes need to be fixed:
- Screenshots: No descriptions were found for these screenshots #3, #4 in dynamic-product-categories-design/assets to your readme.txt
dynamic-product-categories-design/dynamic-product-category-design.php 85% from 13 tests
The entry point to "Dynamic Product Categories Design" version 1.0.6 is a PHP file that has certain tags in its header comment area
The following require your attention:
- Main file name: Name the main plugin file the same as the plugin slug ("dynamic-product-categories-design.php" instead of "dynamic-product-category-design.php")
- Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
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
Good job! No executable or dangerous file extensions detected47,389 lines of code in 214 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 120 | 14,315 | 18,502 | 32,323 |
PHP | 65 | 2,355 | 6,564 | 7,823 |
CSS | 15 | 275 | 1,194 | 4,941 |
JavaScript | 10 | 392 | 605 | 1,520 |
Markdown | 3 | 249 | 0 | 768 |
SVG | 1 | 1 | 0 | 14 |
PHP code Passed 2 tests
Analyzing cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.47 |
Average class complexity | 18.07 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 188.00 |
Average method complexity | 3.25 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 74 | |
▷ Abstract classes | 9 | 12.16% |
▷ Concrete classes | 65 | 87.84% |
▷ Final classes | 1 | 1.54% |
Methods | 565 | |
▷ Static methods | 92 | 16.28% |
▷ Public methods | 472 | 83.54% |
▷ Protected methods | 89 | 15.75% |
▷ Private methods | 4 | 0.71% |
Functions | 37 | |
▷ Named functions | 37 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 15 | |
▷ Global constants | 8 | 53.33% |
▷ Class constants | 7 | 46.67% |
▷ Public constants | 7 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
18 compressed PNG files occupy 0.03MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
lib/cmb2/images/ui-icons_2e83ff_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |
lib/cmb2/images/ui-bg_glass_65_ffffff_1x400.png | 0.10KB | 0.10KB | ▼ 5.71% |
assets/images/overlay-content.png | 2.03KB | 1.83KB | ▼ 9.80% |
assets/images/slider.png | 1.67KB | 1.13KB | ▼ 32.18% |
lib/cmb2/images/ui-icons_222222_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |