Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲0.24MB] [CPU: ▼1.01ms] Passed 4 tests
An overview of server-side resources used by WP Payment
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.69 ▲0.23 | 40.56 ▲0.20 |
Dashboard /wp-admin | 3.54 ▲0.24 | 49.97 ▲3.28 |
Posts /wp-admin/edit.php | 3.66 ▲0.30 | 47.35 ▼2.99 |
Add New Post /wp-admin/post-new.php | 6.12 ▲0.24 | 92.78 ▼4.54 |
Media Library /wp-admin/upload.php | 3.47 ▲0.24 | 40.24 ▲4.76 |
General Settings /wp-admin/admin.php?page=wp-general-settings | 3.43 | 33.31 |
Records /wp-admin/edit.php?post_type=paymentsubmission | 3.51 | 34.96 |
Payment Settings /wp-admin/admin.php?page=wp-payment-settings | 3.44 | 33.69 |
WP Payment /wp-admin/admin.php?page=payment | 3.43 | 31.39 |
Email Settings /wp-admin/admin.php?page=wp-form-email-settings | 3.50 | 38.62 |
Form Template /wp-admin/admin.php?page=wp-form-template | 3.43 | 34.39 |
Server storage [IO: ▲1.51MB] [DB: ▲0.00MB] Passed 3 tests
A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 454 new files
Database: no new tables, 6 new options
New WordPress options |
---|
can_compress_scripts |
widget_recent-posts |
theysaidso_admin_options |
widget_theysaidso_widget |
widget_recent-comments |
db_upgraded |
Browser metrics Passed 4 tests
This is an overview of browser requirements for WP Payment
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,940 ▲194 | 13.69 ▼1.05 | 5.88 ▲4.19 | 41.22 ▲1.82 |
Dashboard /wp-admin | 2,255 ▲70 | 4.90 ▼0.00 | 102.55 ▼3.53 | 42.96 ▲0.19 |
Posts /wp-admin/edit.php | 2,134 ▲45 | 2.03 ▲0.02 | 34.98 ▼5.62 | 35.72 ▼0.38 |
Add New Post /wp-admin/post-new.php | 6,390 ▲4,870 | 27.57 ▲4.54 | 923.86 ▲240.00 | 39.78 ▼22.53 |
Media Library /wp-admin/upload.php | 1,434 ▲46 | 4.25 ▲0.07 | 109.90 ▲2.92 | 46.87 ▲1.56 |
General Settings /wp-admin/admin.php?page=wp-general-settings | 1,778 | 1.72 | 27.33 | 67.90 |
Records /wp-admin/edit.php?post_type=paymentsubmission | 1,095 | 1.98 | 31.86 | 29.37 |
Payment Settings /wp-admin/admin.php?page=wp-payment-settings | 1,344 | 1.72 | 28.29 | 36.61 |
WP Payment /wp-admin/admin.php?page=payment | 1,124 | 1.67 | 24.76 | 43.01 |
Email Settings /wp-admin/admin.php?page=wp-form-email-settings | 1,996 | 8.36 | 163.36 | 82.79 |
Form Template /wp-admin/admin.php?page=wp-form-template | 1,037 | 1.73 | 25.55 | 38.74 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
Please fix the following items
- The uninstall procedure has failed, leaving 6 options in the database
- db_upgraded
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- widget_theysaidso_widget
- widget_recent-comments
Smoke tests 75% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Everything seems fine, however this is by no means 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
Please fix the following items
- 150× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\contract\\v1\\ANetApiRequestType' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/contract/v1/DecryptPaymentDataRequest.php:8
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\controller\\base\\ApiOperationBase' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/controller/GetCustomerPaymentProfileListController.php:7
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\contract\\v1\\ANetApiResponseType' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/contract/v1/GetBatchStatisticsResponse.php:8
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\contract\\v1\\ANetApiRequestType' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/contract/v1/AuthenticateTestRequest.php:8
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\contract\\v1\\ANetApiResponseType' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/contract/v1/CreateCustomerProfileResponse.php:8
- > PHP Warning
Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/wp-payment/wp-payment.php on line 14
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\controller\\base\\ApiOperationBase' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/controller/LogoutController.php:7
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\contract\\v1\\ProfileTransAmountType' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/contract/v1/ProfileTransPriorAuthCaptureType.php:11
- > PHP Fatal error
Uncaught Error: Class 'AuthorizeNetRequest' not found in wp-content/plugins/wp-payment/authorize/lib/AuthorizeNetCIM.php:18
- > PHP Fatal error
Uncaught Error: Class 'net\\authorize\\api\\contract\\v1\\CustomerPaymentProfileBaseType' not found in wp-content/plugins/wp-payment/authorize/lib/net/authorize/api/contract/v1/CustomerPaymentProfileType.php:11
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found
Optimizations
Plugin configuration 97% from 29 tests
readme.txt 94% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
These attributes need your attention:
- Screenshots: These screenshots have no corresponding images in /assets: #15 (scrrenshot-15, Elementor Widget), #16 (scrrenshot-16, Gutenbarg Block)
wp-payment/wp-payment.php Passed 13 tests
"WP Payment" version 2.2.7's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
121 characters long description:
On site payments through Authorize.NET, PayPal Pro and Stripe with Email Notification. Use shortcode '[WP_PAYMENT_FORM]'.
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Everything looks great! No dangerous files found in this plugin19,386 lines of code in 434 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 250 | 3,474 | 10,889 | 12,304 |
YAML | 177 | 0 | 0 | 6,240 |
CSS | 2 | 62 | 3 | 470 |
JavaScript | 3 | 29 | 0 | 162 |
Markdown | 1 | 36 | 0 | 162 |
JSON | 1 | 1 | 0 | 48 |
PHP code Passed 2 tests
This plugin's cyclomatic complexity and code structure detailed below
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.09 |
Average class complexity | 1.95 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 36.00 |
Average method complexity | 1.16 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 12.00 |
Code structure | ||
---|---|---|
Namespaces | 16 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 260 | |
▷ Abstract classes | 2 | 0.77% |
▷ Concrete classes | 258 | 99.23% |
▷ Final classes | 0 | 0.00% |
Methods | 1,504 | |
▷ Static methods | 10 | 0.66% |
▷ Public methods | 1,420 | 94.41% |
▷ Protected methods | 63 | 4.19% |
▷ Private methods | 21 | 1.40% |
Functions | 28 | |
▷ Named functions | 26 | 92.86% |
▷ Anonymous functions | 2 | 7.14% |
Constants | 42 | |
▷ Global constants | 18 | 42.86% |
▷ Class constants | 24 | 57.14% |
▷ Public constants | 24 | 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
15 PNG files occupy 0.31MB with 0.15MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
templates/images/template-2.png | 18.17KB | 10.49KB | ▼ 42.27% |
images/2checkout-logo.png | 19.68KB | 9.34KB | ▼ 52.54% |
images/paypal.png | 6.96KB | 3.66KB | ▼ 47.46% |
images/eb-cta-box-animate.png | 5.36KB | 2.77KB | ▼ 48.31% |
templates/images/template-1.png | 12.57KB | 6.48KB | ▼ 48.47% |