Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Install script ran successfully
Server metrics [RAM: ▲0.05MB] [CPU: ▼7.71ms] Passed 4 tests
Analyzing server-side resources used by Custom Price for WooCommerce
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.56 ▲0.10 | 40.99 ▼2.11 |
Dashboard /wp-admin | 3.39 ▲0.05 | 46.07 ▼14.98 |
Posts /wp-admin/edit.php | 3.44 ▲0.09 | 46.44 ▲1.25 |
Add New Post /wp-admin/post-new.php | 5.91 ▲0.03 | 81.47 ▼14.98 |
Media Library /wp-admin/upload.php | 3.25 ▲0.03 | 38.70 ▲5.12 |
Server storage [IO: ▲1.24MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 351 new files
Database: no new tables, 7 new options
New WordPress options |
---|
db_upgraded |
can_compress_scripts |
plugin_activation_custom-price-for-woocommerce/custom-price-for-woocommerce.php |
widget_recent-comments |
widget_recent-posts |
widget_theysaidso_widget |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Checking browser requirements for Custom Price for WooCommerce
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,793 ▲31 | 14.22 ▼0.10 | 1.66 ▼0.12 | 43.21 ▼0.94 |
Dashboard /wp-admin | 2,201 ▲24 | 5.60 ▼0.03 | 94.65 ▼9.71 | 40.62 ▼2.92 |
Posts /wp-admin/edit.php | 2,106 ▲6 | 1.97 ▼0.00 | 38.92 ▼3.77 | 35.45 ▲0.99 |
Add New Post /wp-admin/post-new.php | 1,529 ▲3 | 23.01 ▼0.25 | 646.92 ▼13.11 | 49.68 ▼5.92 |
Media Library /wp-admin/upload.php | 1,403 ▲6 | 4.18 ▼0.08 | 101.58 ▼0.99 | 43.04 ▼1.42 |
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
- This plugin does not fully uninstall, leaving 7 options in the database
- can_compress_scripts
- plugin_activation_custom-price-for-woocommerce/custom-price-for-woocommerce.php
- db_upgraded
- widget_recent-comments
- widget_theysaidso_widget
- theysaidso_admin_options
- widget_recent-posts
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though everything seems fine, this is not an exhaustive test
SRP 50% 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
The following issues need your attention
- 163× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Handler/GelfHandler.php:24
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Handler\\Handler' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Handler/NullHandler.php:27
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:27
- > PHP Fatal error
Uncaught Error: Class 'Psr\\Log\\AbstractLogger' not found in wp-content/plugins/custom-price-for-woocommerce/vendor/psr/log/Psr/Log/NullLogger.php:13
- > PHP Fatal error
Uncaught Error: Interface 'CPWFreeVendor\\WPDesk\\PluginBuilder\\Plugin\\Hookable' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/wpdesk/custom-price-for-woocommerce-core/src/Order.php:18
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Handler/TestHandler.php:72
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php:20
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Handler\\Handler' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Handler/FilterHandler.php:30
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php:22
- > PHP Fatal error
Uncaught Error: Class 'CPWFreeVendor\\Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/custom-price-for-woocommerce/vendor_prefixed/monolog/monolog/src/Monolog/Handler/StreamHandler.php:25
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There were no browser issues found
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
5 plugin tags: name your price, name your price woocommerce, price on request, custom price, call for price
custom-price-for-woocommerce/custom-price-for-woocommerce.php 92% from 13 tests
The principal PHP file in "Custom Price for WooCommerce" v. 1.0.10 is loaded by WordPress automatically on each request
You should first fix the following items:
- Requires at least: Required version must match the one declared in readme.txt ("5.0" instead of "5.8")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
Good job! No executable or dangerous file extensions detected18,971 lines of code in 341 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 307 | 846 | 11,104 | 16,060 |
CSS | 7 | 205 | 10 | 1,017 |
JavaScript | 7 | 296 | 241 | 932 |
JSON | 17 | 0 | 0 | 916 |
Markdown | 2 | 5 | 0 | 25 |
XML | 1 | 0 | 0 | 21 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.38 |
Average class complexity | 7.92 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 110.00 |
Average method complexity | 2.51 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 30.00 |
Code structure | ||
---|---|---|
Namespaces | 46 | |
Interfaces | 38 | |
Traits | 12 | |
Classes | 234 | |
▷ Abstract classes | 12 | 5.13% |
▷ Concrete classes | 222 | 94.87% |
▷ Final classes | 7 | 3.15% |
Methods | 1,369 | |
▷ Static methods | 147 | 10.74% |
▷ Public methods | 1,013 | 74.00% |
▷ Protected methods | 194 | 14.17% |
▷ Private methods | 162 | 11.83% |
Functions | 50 | |
▷ Named functions | 14 | 28.00% |
▷ Anonymous functions | 36 | 72.00% |
Constants | 138 | |
▷ Global constants | 1 | 0.72% |
▷ Class constants | 137 | 99.28% |
▷ Public constants | 110 | 80.29% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
6 PNG files occupy 0.10MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/assets/images/logo.png | 2.36KB | 2.43KB | 0.00% |
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/assets/images/octolize.com.png | 88.91KB | 39.07KB | ▼ 56.06% |
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/assets/images/flexibleshipping.com.png | 5.63KB | 3.68KB | ▼ 34.58% |
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/assets/images/wpdesk.net.png | 2.36KB | 2.43KB | 0.00% |
vendor_prefixed/wpdesk/wp-wpdesk-tracker/src/assets/images/wpdesk.pl.png | 2.36KB | 2.43KB | 0.00% |