Benchmarks
Plugin footprint 23% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
You still need to fix the following installer errors
- The plugin did not install without errors
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+7
Undefined index: page
Server metrics [RAM: ▼2.53MB] [CPU: ▼344.29ms] Passed 4 tests
An overview of server-side resources used by Donate Extra
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 1.84 ▼1.67 | 4.36 ▼44.95 |
Dashboard /wp-admin | 1.86 ▼1.55 | 3.96 ▼29.53 |
Posts /wp-admin/edit.php | 1.86 ▼1.78 | 5.04 ▼32.93 |
Add New Post /wp-admin/post-new.php | 1.86 ▼5.11 | 3.87 ▼1,269.75 |
Media Library /wp-admin/upload.php | 1.86 ▼1.43 | 3.63 ▼20.76 |
Donate Extra /wp-admin/admin.php?page=DonateExtra | 1.86 | 4.43 |
Settings /wp-admin/admin.php?page=donateextraSettings | 1.86 | 4.72 |
Server storage [IO: ▲0.33MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 15 new files
Database: 1 new table, 2 new options
New tables |
---|
wp_donations |
New WordPress options |
---|
dextra_db_version |
DonateExtra |
Browser metrics Passed 4 tests
A check of browser resources used by Donate Extra
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,938 ▲185 | 16.16 ▲0.46 | 8.70 ▲2.00 | 2.72 ▼0.11 |
Dashboard /wp-admin | 2,924 ▲70 | 6.14 ▼0.02 | 127.29 ▼3.18 | 163.34 ▲3.99 |
Posts /wp-admin/edit.php | 2,728 ▲37 | 3.24 ▲0.01 | 64.48 ▼1.02 | 139.72 ▼1.28 |
Add New Post /wp-admin/post-new.php | 1,686 ▲25 | 16.91 ▲0.52 | 405.64 ▼31.67 | 157.75 ▲5.18 |
Media Library /wp-admin/upload.php | 1,734 ▲36 | 5.50 ▲0.01 | 154.01 ▲10.62 | 182.65 ▼8.79 |
Donate Extra /wp-admin/admin.php?page=DonateExtra | 1,305 | 2.38 | 53.78 | 111.53 |
Settings /wp-admin/admin.php?page=donateextraSettings | 1,720 | 2.40 | 60.74 | 219.87 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 25% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- Uninstall procedure had uncaught errors
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+7
Undefined index: page
- Zombie tables detected upon uninstall: 1 table
- wp_donations
- Zombie WordPress options were found after uninstall: 2 options
- DonateExtra
- dextra_db_version
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Please fix the following server-side errors
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+7
Undefined index: doaction
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+7
Undefined index: delete
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+10
Undefined index: updatedonor
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > User notice in wp-includes/functions.php+5768
wp_enqueue_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the jquery handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > Notice in wp-content/plugins/donate-extra/donate-extra.php+63
Undefined index: action
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > User deprecated in wp-includes/functions.php+5610
load_plugin_textdomain was called with an argument that is deprecated since version 2.7.0 with no alternative available.
- 14 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > User deprecated in wp-includes/functions.php+5600
has_cap was called with an argument that is deprecated since version 2.0.0! Usage of user levels is deprecated. Use capabilities instead.
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+37
Undefined index: edit
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+43
Undefined index: s
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+187
Undefined variable: total
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+220
Undefined variable: dn
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+220
Trying to get property 'currency' of non-object
- > GET request to /wp-admin/admin.php?page=DonateExtra
- > Notice in wp-content/plugins/donate-extra/manage-dp.php+188
Undefined variable: paypal_total
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > Notice in wp-content/plugins/donate-extra/donate-extra.php+225
Undefined index: notice
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > Notice in wp-content/plugins/donate-extra/donate-extra.php+180
Undefined variable: output
- > GET request to /wp-admin/admin.php?page=donateextraSettings
- > Notice in wp-content/plugins/donate-extra/donate-extra.php+264
Undefined index: IPN_email
SRP 50% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Almost there! Just fix the following items
- 4× GET requests to PHP files have triggered server-side errors or warnings:
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/donate-extra/dextra-widget.php:155
- > PHP Notice
Undefined index: page in wp-content/plugins/donate-extra/manage-dp.php on line 7
- > PHP Notice
Undefined index: updatedonor in wp-content/plugins/donate-extra/manage-dp.php on line 10
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/donate-extra/dextra-widget.php:155
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine on the user side
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
These attributes need to be fixed:
- Screenshots: Please add images for these screenshots: #1 (Paypal Gross & Net Display), #2 (Manage Donations), #3 (Example of Donation Form), #4 (Example of Recognition Wall), #5 (Settings Panel)
donate-extra/donate-extra.php 92% from 13 tests
The primary PHP file in "Donate Extra" version 2.02 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Description: Keep the plugin description shorter than 140 characters (currently 144 characters long)
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Everything looks great! No dangerous files found in this plugin1,569 lines of code in 6 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 4 | 157 | 179 | 1,135 |
PO File | 2 | 198 | 433 | 434 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
All good! No complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.18 |
Average class complexity | 39.50 |
▷ Minimum class complexity | 19.00 |
▷ Maximum class complexity | 60.00 |
Average method complexity | 4.35 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 15.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 2 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 2 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 23 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 23 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 11 | |
▷ Named functions | 11 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 0 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
6 PNG files occupy 0.21MB with 0.11MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
screenshot-3.png | 10.58KB | 6.17KB | ▼ 41.69% |
screenshot-2.png | 36.86KB | 14.04KB | ▼ 61.90% |
screenshot-5.png | 114.18KB | 47.47KB | ▼ 58.42% |
screenshot-1.png | 44.72KB | 15.06KB | ▼ 66.33% |
screenshot-4.png | 4.41KB | 2.95KB | ▼ 33.11% |