Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
You still need to fix the following installer errors
- Install procedure validation failed for this plugin
- > User notice in wp-includes/functions.php+5905
Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
Server metrics [RAM: ▼1.92MB] [CPU: ▼56.86ms] Passed 4 tests
A check of server-side resources used by WP Term Manager
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.07 ▼1.40 | 4.60 ▼37.77 |
Dashboard /wp-admin | 2.09 ▼1.22 | 6.58 ▼45.66 |
Posts /wp-admin/edit.php | 2.09 ▼1.27 | 6.94 ▼44.15 |
Add New Post /wp-admin/post-new.php | 2.09 ▼3.80 | 5.47 ▼99.87 |
Media Library /wp-admin/upload.php | 2.09 ▼1.14 | 6.23 ▼29.36 |
WP Term Manager /wp-admin/tools.php?page=wptm_settings | 2.09 | 6.37 |
Server storage [IO: ▲4.03MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 448 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
db_upgraded |
widget_recent-comments |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-posts |
Browser metrics Passed 4 tests
Checking browser requirements for WP Term Manager
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,807 ▲46 | 14.29 ▲0.02 | 1.63 ▼0.31 | 42.99 ▲0.89 |
Dashboard /wp-admin | 2,213 ▲36 | 5.55 ▼0.04 | 90.14 ▼5.54 | 40.00 ▼1.36 |
Posts /wp-admin/edit.php | 2,118 ▲15 | 2.05 ▲0.09 | 35.87 ▼2.73 | 35.05 ▼0.41 |
Add New Post /wp-admin/post-new.php | 1,541 ▲15 | 22.97 ▼0.53 | 665.79 ▼18.97 | 51.31 ▼13.46 |
Media Library /wp-admin/upload.php | 1,415 ▲15 | 4.33 ▲0.23 | 100.89 ▼17.84 | 42.12 ▼10.20 |
WP Term Manager /wp-admin/tools.php?page=wptm_settings | 854 | 2.22 | 27.27 | 29.96 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
Please fix the following items
- The plugin did not uninstall gracefully
- > User notice in wp-includes/functions.php+5905
Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
- This plugin did not uninstall successfully, leaving 6 options in the database
- can_compress_scripts
- db_upgraded
- widget_recent-comments
- widget_recent-posts
- widget_theysaidso_widget
- 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
- > GET request to /wp-admin/tools.php?page=wptm_settings
- > User notice in wp-includes/functions.php+5905
Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
- 2 occurences, only the last one shown
- > GET request to /wp-admin/tools.php?page=wptm_settings
- > Notice in wp-content/plugins/wp-term-manager/includes/Settings.php+184
Trying to access array offset on value of type bool
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
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/apigen/hook-docs.php
- 58× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Textarea' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/includes/types/CMB2_Type_Textarea_Code.php:13
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Text_Date' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/includes/types/CMB2_Type_Text_Time.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Call to undefined function cmb2_dir() in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/includes/rest-api/CMB2_REST_Controller.php:4
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Taxonomy_Base' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/includes/types/CMB2_Type_Taxonomy_Multicheck.php:13
- > PHP Fatal error
Uncaught Error: Class 'WP_UnitTestCase' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/tests/cmb-tests-base.php:10
- > PHP Fatal error
Uncaught Error: Class 'CMB2_Type_Base' not found in wp-content/plugins/wp-term-manager/vendor/cmb2/cmb2/includes/types/CMB2_Type_Title.php:13
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine, but this is not an exhaustive test
Optimizations
Plugin configuration 86% from 29 tests
readme.txt 94% from 16 tests
It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that require attention:
- Screenshots: A description for screenshot #1 is missing in wp-term-manager/assets to your readme.txt
wp-term-manager/wp-term-manager.php 77% from 13 tests
The principal PHP file in "WP Term Manager" v. 1.0.2 is loaded by WordPress automatically on each request
You should first fix the following items:
- Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
- Domain Path: You should use only dashes and lowercase characters for the domain path ("languages")
- Domain Path: Please prefix the domain path with a forward slash character ("/languages")
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
No dangerous file extensions were detected65,030 lines of code in 267 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 120 | 14,315 | 18,502 | 32,323 |
PHP | 79 | 3,225 | 6,803 | 11,863 |
CSS | 17 | 1,384 | 1,247 | 7,323 |
XML | 2 | 0 | 0 | 4,498 |
JSON | 6 | 0 | 0 | 3,701 |
JavaScript | 13 | 502 | 694 | 2,716 |
Sass | 16 | 300 | 25 | 1,379 |
Markdown | 6 | 263 | 0 | 794 |
Bourne Shell | 4 | 67 | 45 | 209 |
YAML | 2 | 11 | 6 | 190 |
diff | 2 | 1 | 68 | 34 |
PHP code Passed 2 tests
This is a very shot review 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.35 |
Average class complexity | 16.96 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 183.00 |
Average method complexity | 2.62 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 31.00 |
Code structure | ||
---|---|---|
Namespaces | 2 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 90 | |
▷ Abstract classes | 11 | 12.22% |
▷ Concrete classes | 79 | 87.78% |
▷ Final classes | 0 | 0.00% |
Methods | 891 | |
▷ Static methods | 128 | 14.37% |
▷ Public methods | 752 | 84.40% |
▷ Protected methods | 133 | 14.93% |
▷ Private methods | 6 | 0.67% |
Functions | 39 | |
▷ Named functions | 38 | 97.44% |
▷ Anonymous functions | 1 | 2.56% |
Constants | 12 | |
▷ Global constants | 6 | 50.00% |
▷ Class constants | 6 | 50.00% |
▷ Public constants | 6 | 100.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
22 compressed PNG files occupy 0.02MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/inherit.png | 0.15KB | 0.10KB | ▼ 29.61% |
vendor/cmb2/cmb2/apigen/theme-bootstrap/src/resources/tree-hasnext.png | 0.13KB | 0.09KB | ▼ 31.25% |
vendor/cmb2/cmb2/images/ui-bg_glass_75_e6e6e6_1x400.png | 0.11KB | 0.14KB | 0.00% |
vendor/cmb2/cmb2/images/ui-bg_glass_65_ffffff_1x400.png | 0.10KB | 0.10KB | ▼ 5.71% |
vendor/cmb2/cmb2/images/ui-bg_glass_55_fbf9ee_1x400.png | 0.12KB | 0.14KB | 0.00% |