Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲0.43MB] [CPU: ▼2.50ms] Passed 4 tests
Analyzing server-side resources used by Advanced Dynamic Pricing Table
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.90 ▲0.44 | 39.27 ▼6.39 |
Dashboard /wp-admin | 3.74 ▲0.44 | 56.85 ▲1.60 |
Posts /wp-admin/edit.php | 3.80 ▲0.44 | 59.69 ▲6.36 |
Add New Post /wp-admin/post-new.php | 6.34 ▲0.45 | 97.15 ▼6.33 |
Media Library /wp-admin/upload.php | 3.64 ▲0.41 | 39.23 ▲1.14 |
All Pricing Tables /wp-admin/edit.php?post_type=adpt | 3.71 | 45.41 |
Add Pricing Table /wp-admin/post-new.php?post_type=adpt | 3.84 | 62.59 |
Server storage [IO: ▲8.85MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 583 new files
Database: 1 new table, 6 new options
New tables |
---|
wp_adpt_order |
New WordPress options |
---|
db_upgraded |
widget_theysaidso_widget |
widget_recent-posts |
widget_recent-comments |
can_compress_scripts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
Advanced Dynamic Pricing Table: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,256 ▲495 | 19.01 ▲4.34 | 7.78 ▲5.86 | 43.04 ▼0.70 |
Dashboard /wp-admin | 2,543 ▲340 | 9.32 ▲4.43 | 192.32 ▲83.87 | 43.57 ▼1.37 |
Posts /wp-admin/edit.php | 2,448 ▲345 | 6.19 ▲4.17 | 87.52 ▲48.92 | 38.70 ▲4.76 |
Add New Post /wp-admin/post-new.php | 1,634 ▲105 | 19.93 ▲2.42 | 704.18 ▲80.13 | 36.76 ▼8.81 |
Media Library /wp-admin/upload.php | 1,588 ▲185 | 6.74 ▲2.53 | 107.14 ▲4.26 | 44.41 ▼3.50 |
All Pricing Tables /wp-admin/edit.php?post_type=adpt | 1,429 | 6.08 | 82.81 | 27.05 |
Add Pricing Table /wp-admin/post-new.php?post_type=adpt | 2,610 | 8.48 | 134.75 | 38.38 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
It is recommended to fix the following
- The uninstall procedure failed, leaving 1 table in the database
- wp_adpt_order
- This plugin did not uninstall successfully, leaving 6 options in the database
- theysaidso_admin_options
- can_compress_scripts
- widget_recent-comments
- db_upgraded
- widget_recent-posts
- widget_theysaidso_widget
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
The smoke test was a success, however most plugin functionality was not tested
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 take a closer look at the following
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/wp-adpt/carbon-fields/vendor/htmlburger/carbon-fields/templates/Exception/incorrect-syntax.php
- 213× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php:4
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php:4
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Service\\Service' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/htmlburger/carbon-fields/core/Service/Legacy_Storage_Service_v_1_5.php:15
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/PlentymarketsInstaller.php:4
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/GravInstaller.php:4
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/SyDESInstaller.php:4
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/htmlburger/carbon-fields/core/Widget/Widget.php:13
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php:9
- > PHP Fatal error
Uncaught Error: Class 'Carbon_Fields\\Container\\Condition\\Condition' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/htmlburger/carbon-fields/core/Container/Condition/Post_Parent_ID_Condition.php:8
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/wp-adpt/carbon-fields/vendor/composer/installers/src/Composer/Installers/KanboardInstaller.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected
Optimizations
Plugin configuration 83% from 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
2 plugin tags: wordpress, pricing table
wp-adpt/adpt.php 62% from 13 tests
The main PHP script in "Advanced Dynamic Pricing Table" version 1.0.0 is automatically included on every request by WordPress
It is important to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("wp-adpt.php" instead of "adpt.php")
- Text Domain: You no longer need to specify the text domain since WordPress 4.6; it must be the same as the plugin slug
- Domain Path: Please prefix the domain path with a forward slash character ("/languages")
- Domain Path: The domain path should use only dashes and lowercase characters ("languages")
- Description: Please keep the plugin description shorter than 140 characters (currently 182 characters long)
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
There were no executable files found in this plugin31,319 lines of code in 529 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 175 | 5,205 | 8,474 | 13,029 |
PHP | 257 | 2,957 | 7,089 | 11,484 |
PO File | 26 | 819 | 1,020 | 2,202 |
CSS | 11 | 348 | 1,154 | 2,007 |
Sass | 48 | 339 | 0 | 1,769 |
JSON | 5 | 0 | 0 | 639 |
YAML | 3 | 30 | 3 | 118 |
Markdown | 4 | 26 | 0 | 71 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.26 |
Average class complexity | 5.47 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 50.00 |
Average method complexity | 2.02 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 18.00 |
Code structure | ||
---|---|---|
Namespaces | 24 | |
Interfaces | 5 | |
Traits | 0 | |
Classes | 223 | |
▷ Abstract classes | 12 | 5.38% |
▷ Concrete classes | 211 | 94.62% |
▷ Final classes | 1 | 0.47% |
Methods | 1,004 | |
▷ Static methods | 91 | 9.06% |
▷ Public methods | 791 | 78.78% |
▷ Protected methods | 202 | 20.12% |
▷ Private methods | 11 | 1.10% |
Functions | 126 | |
▷ Named functions | 40 | 31.75% |
▷ Anonymous functions | 86 | 68.25% |
Constants | 34 | |
▷ Global constants | 7 | 20.59% |
▷ Class constants | 27 | 79.41% |
▷ Public constants | 27 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
No PNG files were detected