10% dashboard-quick-actions

Code Review | Dashboard Quick Actions

WordPress plugin Dashboard Quick Actions scored10%from 54 tests.

About plugin

  • Plugin page: dashboard-quick-a...
  • Plugin version: 1.2
  • PHP version: 7.4.16
  • WordPress compatibility: 3.8-4.5.3
  • WordPress version: 6.3.1
  • First release: Mar 8, 2016
  • Latest release: Jul 10, 2016
  • Number of updates: 8
  • Update frequency: every 15.5 days
  • Top authors: uniquelylost (100%)

Code review

54 tests

User reviews

2 reviews

Install metrics

40+ active /1,909 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
You still need to fix the following installer errors
  • The plugin cannot be installed
    • > Warning in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/class.redux_filesystem.php+29
    Creating default object from empty value

Server metrics [RAM: ▼0.73MB] [CPU: ▼46.54ms] Passed 4 tests

Analyzing server-side resources used by Dashboard Quick Actions
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.26 ▼0.2011.51 ▼26.52
Dashboard /wp-admin3.28 ▼0.0212.92 ▼41.13
Posts /wp-admin/edit.php3.28 ▼0.0813.37 ▼39.14
Add New Post /wp-admin/post-new.php3.28 ▼2.6115.92 ▼79.02
Media Library /wp-admin/upload.php3.28 ▲0.0511.93 ▼26.86
Dashboard Quick Actions /wp-admin/options-general.php?page=dqa_options_options3.2816.00

Server storage [IO: ▲7.42MB] [DB: ▲0.07MB] Passed 3 tests

Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 564 new files
Database: no new tables, 9 new options
New WordPress options
redux_version_upgraded_from
widget_recent-posts
dqa_options-transients
db_upgraded
theysaidso_admin_options
widget_theysaidso_widget
dqa_options
can_compress_scripts
widget_recent-comments

Browser metrics Passed 4 tests

A check of browser resources used by Dashboard Quick Actions
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,964 ▲21813.17 ▼1.451.81 ▼0.2738.15 ▼9.17
Dashboard /wp-admin2,367 ▲1795.07 ▼0.8198.34 ▼22.0844.50 ▼2.05
Posts /wp-admin/edit.php2,095 ▲62.05 ▲0.0638.05 ▲0.0435.39 ▼1.53
Add New Post /wp-admin/post-new.php1,519 ▼1417.42 ▼5.70680.84 ▼25.2159.08 ▲0.09
Media Library /wp-admin/upload.php1,394 ▲94.11 ▼0.09103.76 ▼1.6243.51 ▼2.28
Dashboard Quick Actions /wp-admin/options-general.php?page=dqa_options_options7,6804.0594.7344.34

Uninstaller [IO: ▲0.00MB] [DB: ▲0.07MB] 50% from 4 tests

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
  • This plugin cannot be uninstalled
    • > Warning in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/class.redux_filesystem.php+29
    Creating default object from empty value
  • The uninstall procedure has failed, leaving 9 options in the database
    • db_upgraded
    • can_compress_scripts
    • widget_recent-comments
    • dqa_options-transients
    • redux_version_upgraded_from
    • theysaidso_admin_options
    • widget_theysaidso_widget
    • widget_recent-posts
    • dqa_options

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 server-side errors were triggered
    • > GET request to /wp-admin/options-general.php?page=dqa_options_options
    • > Warning in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/class.redux_filesystem.php+29
    Creating default object from empty value

SRP 50% 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 fix the following items
  • 22× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/templates/panel/header.tpl.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'Redux' not found in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-extensions/extensions-init.php:4
    • > PHP Fatal error
      Uncaught Error: Interface 'themecheck' not found in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/themecheck/checks/full_package.php:3
    • > PHP Fatal error
      Uncaught Error: Interface 'themecheck' not found in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/themecheck/checks/embedded.php:3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function has_action() in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/class.thirdparty.fixes.php:4
    • > PHP Fatal error
      Uncaught Error: Class 'Redux_Customizer_Control' not found in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/extensions/customizer/inc/customizer_fields.php:3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/class.p.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_attr() in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/templates/panel/header_stickybar.tpl.php:14
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/inc/welcome/views/credits.php:2
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/dashboard-quick-actions/assets/admin/redux-framework/templates/panel/footer.tpl.php:15

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side

Optimizations

Plugin configuration 97% 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
Attributes that require attention:
  • Tags: There are too many tags (12 tag instead of maximum 10)
The official readme.txt might help

dashboard-quick-actions/dashboard-quick-actions.php Passed 13 tests

The principal PHP file in "Dashboard Quick Actions" v. 1.2 is loaded by WordPress automatically on each request
48 characters long description:
Admin dashboard quick action icons for WordPress

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | Executable files are considered dangerous and should not be included with any WordPress plugin
No dangerous file extensions were detected42,616 lines of code in 348 files:
LanguageFilesBlank linesComment linesLines of code
PHP1034,0875,36118,410
JavaScript1522,6972,56414,424
Sass44581585,234
CSS424731692,733
SVG100934
LESS28079687
Markdown2440103
Bourne Shell124055
JSON10036

PHP code 50% from 2 tests

Cyclomatic complexity and code structure are the fingerprint of this plugin
These items need your attention
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 113)
Cyclomatic complexity
Average complexity per logical line of code0.59
Average class complexity37.83
▷ Minimum class complexity1.00
▷ Maximum class complexity851.00
Average method complexity5.94
▷ Minimum method complexity1.00
▷ Maximum method complexity113.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes103
▷ Abstract classes00.00%
▷ Concrete classes103100.00%
▷ Final classes00.00%
Methods768
▷ Static methods10213.28%
▷ Public methods44958.46%
▷ Protected methods27535.81%
▷ Private methods445.73%
Functions13
▷ Named functions13100.00%
▷ Anonymous functions00.00%
Constants57
▷ Global constants00.00%
▷ Class constants57100.00%
▷ Public constants57100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
34 PNG files occupy 0.06MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/admin/redux-framework/assets/img/4-col-portfolio.png1.01KB0.17KB▼ 83.45%
assets/admin/redux-framework/assets/css/vendor/jquery-ui-bootstrap/images/ui-bg_glass_75_e6e6e6_1x400.png0.11KB0.14KB0.00%
assets/admin/redux-framework/assets/css/vendor/jquery-ui-bootstrap/images/ui-bg_glass_75_dadada_1x400.png0.11KB0.16KB0.00%
assets/admin/redux-framework/assets/css/vendor/jquery-ui-bootstrap/images/ui-icons_ffffff_256x240.png4.27KB4.11KB▼ 3.78%
assets/admin/redux-framework/assets/js/vendor/select2/select2x2.png0.83KB0.77KB▼ 6.15%