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.15MB] [CPU: ▼2.94ms] Passed 4 tests
Server-side resources used by Posts Columns Manager
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.48 ▲0.01 | 43.44 ▲0.27 |
Dashboard /wp-admin | 3.54 ▲0.24 | 49.75 ▼12.42 |
Posts /wp-admin/edit.php | 3.60 ▲0.24 | 52.22 ▲3.83 |
Add New Post /wp-admin/post-new.php | 6.06 ▲0.17 | 94.13 ▼1.77 |
Media Library /wp-admin/upload.php | 3.40 ▲0.17 | 40.62 ▲2.16 |
PCM Settings /wp-admin/options-general.php?page=pcm_settings | 3.52 | 41.90 |
Server storage [IO: ▲0.07MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 28 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_theysaidso_widget |
can_compress_scripts |
db_upgraded |
widget_recent-posts |
theysaidso_admin_options |
widget_recent-comments |
Browser metrics Passed 4 tests
Checking browser requirements for Posts Columns Manager
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,795 ▲34 | 14.48 ▲0.18 | 1.68 ▼0.11 | 38.25 ▼4.06 |
Dashboard /wp-admin | 2,201 ▲24 | 5.70 ▲0.11 | 90.77 ▼13.79 | 42.18 ▼3.67 |
Posts /wp-admin/edit.php | 2,106 ▲6 | 2.05 ▲0.04 | 38.89 ▲2.09 | 38.09 ▼0.79 |
Add New Post /wp-admin/post-new.php | 1,548 ▲17 | 23.10 ▼0.20 | 611.20 ▼78.20 | 55.74 ▼6.73 |
Media Library /wp-admin/upload.php | 1,406 ▲6 | 4.20 ▼0.04 | 101.07 ▼14.86 | 45.64 ▼3.08 |
PCM Settings /wp-admin/options-general.php?page=pcm_settings | 1,046 | 1.80 | 24.29 | 32.52 |
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
These items require your attention
- This plugin does not fully uninstall, leaving 6 options in the database
- widget_recent-posts
- widget_theysaidso_widget
- widget_recent-comments
- can_compress_scripts
- theysaidso_admin_options
- db_upgraded
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Even though no errors were found, this is by no means an exhaustive test
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
- 4× PHP files perform the action of outputting non-empty strings when accessed directly:
- > /wp-content/plugins/posts-columns-manager/templates/range.php
- > /wp-content/plugins/posts-columns-manager/templates/text.php
- > /wp-content/plugins/posts-columns-manager/templates/link.php
- > /wp-content/plugins/posts-columns-manager/templates/settings/select.php
- 41× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Notice
Undefined variable: href in wp-content/plugins/posts-columns-manager/templates/link.php on line 8
- > PHP Fatal error
Uncaught Error: Interface 'PCM\\Interfaces\\Renderer' not found in wp-content/plugins/posts-columns-manager/app/helpers/class-renderer.php:7
- > PHP Notice
Undefined variable: param_from in wp-content/plugins/posts-columns-manager/templates/range.php on line 13
- > PHP Notice
Undefined variable: param_to in wp-content/plugins/posts-columns-manager/templates/range.php on line 14
- > PHP Notice
Undefined variable: id in wp-content/plugins/posts-columns-manager/templates/settings/hidden.php on line 7
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/posts-columns-manager/templates/settings/hidden.php:7
- > PHP Notice
Undefined variable: options in wp-content/plugins/posts-columns-manager/templates/settings/select.php on line 8
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/posts-columns-manager/templates/settings/text.php:8
- > PHP Notice
Undefined variable: label in wp-content/plugins/posts-columns-manager/templates/link.php on line 8
- > PHP Notice
Undefined variable: id in wp-content/plugins/posts-columns-manager/templates/settings/checkbox.php on line 7
- > PHP Notice
User-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need your attention:
- Plugin Name: "Plugin Name" should be replaced with the name of your plugin on the first line (
=== posts-columns-manager ===
)
posts-columns-manager/posts-columns-manager.php Passed 13 tests
The primary PHP file in "Posts Columns Manager" version 1.7.0 is used by WordPress to initiate all plugin functionality
109 characters long description:
Manage custom columns in the posts editor. You can: add columns, sort and filter posts in the custom columns.
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 plugin1,249 lines of code in 26 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 24 | 366 | 307 | 1,128 |
CSS | 1 | 12 | 0 | 86 |
JavaScript | 1 | 12 | 0 | 35 |
PHP code Passed 2 tests
This is a very shot review of cyclomatic complexity and code structure
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.40 |
Average class complexity | 12.00 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 63.00 |
Average method complexity | 2.77 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 13.00 |
Code structure | ||
---|---|---|
Namespaces | 7 | |
Interfaces | 2 | |
Traits | 1 | |
Classes | 11 | |
▷ Abstract classes | 1 | 9.09% |
▷ Concrete classes | 10 | 90.91% |
▷ Final classes | 0 | 0.00% |
Methods | 92 | |
▷ Static methods | 17 | 18.48% |
▷ Public methods | 50 | 54.35% |
▷ Protected methods | 32 | 34.78% |
▷ Private methods | 10 | 10.87% |
Functions | 3 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 3 | 100.00% |
Constants | 12 | |
▷ Global constants | 4 | 33.33% |
▷ Class constants | 8 | 66.67% |
▷ Public constants | 8 | 100.00% |
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
There are no PNG files in this plugin