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
Install script ran successfully
Server metrics [RAM: ▼0.61MB] [CPU: ▼20.97ms] Passed 4 tests
Analyzing server-side resources used by Quote Calculator Constructor
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.58 ▲0.12 | 26.25 ▼14.24 |
Dashboard /wp-admin | 3.34 ▲0.03 | 34.82 ▼13.43 |
Posts /wp-admin/edit.php | 3.40 ▲0.04 | 40.80 ▼2.53 |
Add New Post /wp-admin/post-new.php | 3.30 ▼2.59 | 43.41 ▼53.69 |
Media Library /wp-admin/upload.php | 3.30 ▲0.07 | 34.75 ▼1.31 |
Add New /wp-admin/post-new.php?post_type=calculator | 3.30 | 39.11 |
All Calculator /wp-admin/edit.php?post_type=calculator | 3.39 | 33.60 |
Server storage [IO: ▲2.90MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
This plugin installed successfully
Filesystem: 133 new files
Database: no new tables, 6 new options
New WordPress options |
---|
theysaidso_admin_options |
widget_recent-posts |
can_compress_scripts |
widget_theysaidso_widget |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
An overview of browser requirements for Quote Calculator Constructor
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,527 ▲792 | 19.24 ▲4.86 | 21.17 ▲19.42 | 39.59 ▼3.06 |
Dashboard /wp-admin | 2,395 ▲207 | 6.63 ▲0.78 | 113.22 ▲6.17 | 36.45 ▼2.84 |
Posts /wp-admin/edit.php | 2,297 ▲211 | 3.64 ▲1.64 | 63.68 ▲28.68 | 33.85 ▲2.92 |
Add New Post /wp-admin/post-new.php | 1,562 ▲43 | 23.18 ▼0.13 | 640.00 ▼100.21 | 35.88 ▼27.24 |
Media Library /wp-admin/upload.php | 1,434 ▲46 | 4.41 ▲0.17 | 107.83 ▼4.95 | 49.16 ▲1.25 |
Add New /wp-admin/post-new.php?post_type=calculator | 1,891 | 3.76 | 62.47 | 44.92 |
All Calculator /wp-admin/edit.php?post_type=calculator | 1,250 | 3.66 | 58.19 | 25.11 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
You still need to fix the following
- This plugin does not fully uninstall, leaving 6 options in the database
- widget_theysaidso_widget
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
These server-side errors were triggered
- > GET request to /wp-admin/post-new.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/meta_box.php+62
Undefined index: post_type
- > GET request to /wp-admin/post-new.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/meta_box.php+79
Undefined index: interface_data
- 2 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/scripts.php+53
Undefined index: localization
- > GET request to /wp-admin/post-new.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/formElementsClass.php+25
Undefined index: width
- > GET request to /wp-admin/post-new.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/formElementsClass.php+27
Undefined index: id
- > GET request to /wp-admin/post-new.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/formElementsClass.php+33
Undefined index: sub_text
- 2 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=calculator
- > Notice in wp-content/plugins/quote-calculator-constructor/modules/formElementsClass.php+261
Undefined variable: out
SRP 50% from 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
Almost there! Just fix the following items
- 6× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/quote-calculator-constructor/modules/hooks.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/quote-calculator-constructor/modules/cpt.php:26
- > PHP Fatal error
Uncaught Error: Call to undefined function plugins_url() in wp-content/plugins/quote-calculator-constructor/modules/scripts.php:65
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/quote-calculator-constructor/modules/shortcodes.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function add_Action() in wp-content/plugins/quote-calculator-constructor/modules/meta_box.php:126
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/quote-calculator-constructor/modules/shortcodes.php:2
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please take a look at the following user-side issues
- > GET request to /wp-admin/edit.php?post_type=calculator
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,moxiejs,plupload,jquery-ui-mouse,jquery-ui-sortable&ver=6.3.1 1:28609 "jQuery.Deferred exception: \"undefined\" is not valid JSON" "SyntaxError: \"undefined\" is not valid JSON\n at parse (\u003Canonymous>)\n at Function.\u003Canonymous> (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,moxiejs,plupload,jquery-ui-mouse,jquery-ui-sortable&ver=6.3.1:5:3161)\n at e.\u003Ccomputed> [as parseJSON] (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,moxiejs,plupload,jquery-ui-mouse,jquery-ui-sortable&ver=6.3.1:5:1582)\n at HTMLDocument.\u003Canonymous> (/wp-content/plugins/quote-calculator-constructor/modules/js/admin.js?ver=6.3.1:398:19)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,moxiejs,plupload,jquery-ui-mouse,jquery-ui-sortable&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,moxiejs,plupload,jquery-ui-mouse,jquery-ui-sortable&ver=6.3.1:2:27292)" undefined
- > GET request to /wp-admin/edit.php?post_type=calculator
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,moxiejs,plupload,jquery-ui-mouse,jquery-ui-sortable&ver=6.3.1 4:3160 Uncaught SyntaxError: "undefined" is not valid JSON
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
4 plugin tags: quote generator, calculator plugin, loan quote, loan calculator
quote-calculator-constructor/wp-calc-creator.php 92% from 13 tests
The main PHP script in "Quote Calculator Constructor" version 1.1 is automatically included on every request by WordPress
Please make the necessary changes and fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("quote-calculator-constructor.php" instead of "wp-calc-creator.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
There were no executable files found in this plugin47,872 lines of code in 122 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
CSS | 15 | 4,054 | 112 | 30,387 |
JavaScript | 14 | 2,591 | 1,400 | 8,233 |
Sass | 67 | 433 | 156 | 5,594 |
LESS | 13 | 19 | 31 | 1,149 |
Markdown | 2 | 244 | 0 | 1,134 |
PHP | 8 | 228 | 29 | 740 |
SVG | 1 | 0 | 0 | 504 |
JSON | 1 | 0 | 0 | 78 |
PO File | 1 | 328 | 647 | 53 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
This plugin has no cyclomatic complexity issues
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.44 |
Average class complexity | 14.83 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 51.00 |
Average method complexity | 5.15 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 51.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 6 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 6 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 20 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 20 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 6 | |
▷ Named functions | 5 | 83.33% |
▷ Anonymous functions | 1 | 16.67% |
Constants | 0 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
2 compressed PNG files occupy 0.02MB
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
modules/inc/assets/css/glyphicons-halflings.png | 12.50KB | 10.35KB | ▼ 17.19% |
modules/inc/assets/css/glyphicons-halflings-white.png | 8.57KB | 9.20KB | 0.00% |