Benchmarks
Plugin footprint Passed 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.16MB] [CPU: ▼147.15ms] 75% from 4 tests
An overview of server-side resources used by Advanced Pricing Table
Please take the time to fix the following items
- CPU: The total CPU usage must kept under 500.00ms (currently 2,822.86ms on /wp-admin/edit.php?post_type=wppt_pricing_table&page=advanced-pricing-table/more-products.php)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.97 ▲0.13 | 38.02 ▲2.84 |
Dashboard /wp-admin | 3.25 ▲0.20 | 50.54 ▲4.19 |
Posts /wp-admin/edit.php | 3.30 ▲0.20 | 52.45 ▲0.43 |
Add New Post /wp-admin/post-new.php | 5.55 ▲0.11 | 99.14 ▼591.80 |
Media Library /wp-admin/upload.php | 3.26 ▲0.25 | 39.97 ▼0.08 |
All Pricing Tables /wp-admin/edit.php?post_type=wppt_pricing_table | 3.29 | 34.96 |
Add New /wp-admin/post-new.php?post_type=wppt_pricing_table | 3.30 | 46.36 |
Cybercraft Products /wp-admin/edit.php?post_type=wppt_pricing_table&page=advanced-pricing-table/more-products.php | 3.35 | 2,822.86 |
Server storage [IO: ▲1.18MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
The plugin installed successfully
Filesystem: 37 new files
Database: no new tables, no new options
Browser metrics Passed 4 tests
A check of browser resources used by Advanced Pricing Table
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 5,027 ▲1,431 | 15.83 ▲0.26 | 12.60 ▲3.01 | 51.07 ▲3.68 |
Dashboard /wp-admin | 4,289 ▲1,355 | 6.00 ▲0.08 | 144.37 ▼11.09 | 115.06 ▼19.17 |
Posts /wp-admin/edit.php | 4,046 ▲1,310 | 2.59 ▼0.10 | 66.03 ▼4.42 | 104.76 ▲14.61 |
Add New Post /wp-admin/post-new.php | 2,806 ▲1,123 | 18.58 ▲2.32 | 378.93 ▼32.45 | 117.98 ▲3.71 |
Media Library /wp-admin/upload.php | 3,126 ▲1,316 | 5.00 ▼0.02 | 160.21 ▼5.52 | 126.52 ▼1.04 |
All Pricing Tables /wp-admin/edit.php?post_type=wppt_pricing_table | 2,726 | 2.62 | 65.51 | 71.92 |
Add New /wp-admin/post-new.php?post_type=wppt_pricing_table | 4,603 | 5.00 | 135.30 | 155.43 |
Cybercraft Products /wp-admin/edit.php?post_type=wppt_pricing_table&page=advanced-pricing-table/more-products.php | 2,833 | 2.18 | 60.26 | 71.26 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Uninstaller ran successfully
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
These errors were triggered by the plugin
- 42 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=wppt_pricing_table&page=advanced-pricing-table/more-products.php
- > Notice in wp-content/plugins/advanced-pricing-table/more-products.php+33
Trying to get property 'slug' of non-object
- 21 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=wppt_pricing_table&page=advanced-pricing-table/more-products.php
- > Notice in wp-content/plugins/advanced-pricing-table/more-products.php+31
Trying to get property 'name' of non-object
- 21 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=wppt_pricing_table&page=advanced-pricing-table/more-products.php
- > Notice in wp-content/plugins/advanced-pricing-table/more-products.php+32
Trying to get property 'short_description' of non-object
SRP 50% from 2 tests
🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Almost there! Just fix the following items
- 6× PHP files trigger errors when accessed directly with GET requests:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/advanced-pricing-table/shortcode.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function _e() in wp-content/plugins/advanced-pricing-table/pricing-templates.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/advanced-pricing-table/pricing-table-admin.php:27
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/advanced-pricing-table/register-data.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/advanced-pricing-table/more-products.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function apply_filters() in wp-content/plugins/advanced-pricing-table/pricing-table-data.php:5
- > 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 90% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Please fix the following attributes:
- Tags: Please delete some tags, you are using 14 tag instead of maximum 10
advanced-pricing-table/advanced-pricing-table.php 85% from 13 tests
The principal PHP file in "Advanced Pricing Table" v. 1.0 is loaded by WordPress automatically on each request
It is important to fix the following:
- Text Domain: The text domain name should consist of only dashes and lowercase characters
- Domain Path: The domain path points to an invalid folder, "/languages" does not exist
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
Success! There were no dangerous files found in this plugin14,383 lines of code in 19 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
JavaScript | 4 | 1,067 | 1,340 | 8,995 |
LESS | 2 | 274 | 30 | 2,058 |
CSS | 4 | 5 | 18 | 1,602 |
PHP | 7 | 72 | 41 | 1,524 |
SVG | 2 | 0 | 0 | 204 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.24 |
Average class complexity | 5.25 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 9.00 |
Average method complexity | 1.85 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 5.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 4 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 4 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 21 | |
▷ Static methods | 5 | 23.81% |
▷ Public methods | 20 | 95.24% |
▷ Protected methods | 1 | 4.76% |
▷ Private methods | 0 | 0.00% |
Functions | 7 | |
▷ Named functions | 2 | 28.57% |
▷ Anonymous functions | 5 | 71.43% |
Constants | 5 | |
▷ Global constants | 5 | 100.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
4 PNG files occupy 0.10MB with 0.06MB in potential savings
Potential savings
Compression of 4 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/images/templates/yama.png | 31.90KB | 8.99KB | ▼ 71.83% |
assets/images/templates/jinpa.png | 27.18KB | 8.44KB | ▼ 68.97% |
assets/images/templates/sonam.png | 24.11KB | 8.00KB | ▼ 66.81% |
assets/images/templates/tenzin.png | 14.52KB | 5.50KB | ▼ 62.10% |