57% adminify

Code Review | WP Adminify - WordPress Dashboard Customization | Custom Login | Admin Columns | Dashboard Widget | Media Library Folders

WordPress plugin WP Adminify - WordPress Dashboard Customization | Custom Login | Admin Columns | Dashboard Widget | Media Library Folders scored57%from 54 tests.

About plugin

  • Plugin page: adminify
  • Plugin version: 3.2.0
  • PHP compatiblity: 5.3+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-6.4.1
  • WordPress version: 6.3.1
  • First release: Feb 18, 2021
  • Latest release: Nov 26, 2023
  • Number of updates: 64
  • Update frequency: every 15.8 days
  • Top authors: Litonice13 (100%)

Code review

54 tests

User reviews

53 reviews

Install metrics

2,000+ active /55,594 total downloads

Benchmarks

Plugin footprint 47% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
Install script ran successfully

Server metrics [RAM: ▲12.68MB] [CPU: ▲136.40ms] 50% from 4 tests

An overview of server-side resources used by WP Adminify - WordPress Dashboard Customization | Custom Login | Admin Columns | Dashboard Widget | Media Library Folders
The following require your attention
  • RAM: Total memory usage must be kept under 10MB (currently 15.94MB on /wp-admin/index.php?page=wp-adminify-setup-wizard)
  • Extra RAM: Extra memory usage must be kept under 5MB (currently 12.68MB on /wp-admin/index.php?page=wp-adminify-setup-wizard)
PageMemory (MB)CPU Time (ms)
Home /15.51 ▲12.05153.66 ▲110.54
Dashboard /wp-admin16.48 ▲13.18204.83 ▲158.33
Posts /wp-admin/edit.php16.25 ▲12.90205.82 ▲155.19
Add New Post /wp-admin/post-new.php18.75 ▲12.86232.58 ▲138.68
Media Library /wp-admin/upload.php16.14 ▲12.91172.87 ▲141.20
Notices /wp-admin/index.php?page=wp-adminify-notices16.04184.98
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius16.26179.48
/wp-admin/index.php?page=wp-adminify-setup-wizard15.94151.28

Server storage [IO: ▲14.64MB] [DB: ▲0.02MB] Passed 3 tests

How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 790 new files
Database: 2 new tables, 28 new options
New tables
wp_adminify_activity_logs
wp_adminify_page_speed
New WordPress options
fs_debug_mode
fs_active_plugins
jltwp_adminify_notice_latest_updates
jltwp_adminify_login
wp_adminify_page_speed_db_version
adminify_activity_logs_version
fs_accounts
jltwp_adminify_notice_ask_for_rating
dashboard_widgets
jltwp_adminify_notice_subscribe
...

Browser metrics Passed 4 tests

WP Adminify - WordPress Dashboard Customization | Custom Login | Admin Columns | Dashboard Widget | Media Library Folders: an overview of browser usage
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /4,722 ▲1,96014.04 ▼0.112.85 ▲1.0348.01 ▲4.73
Dashboard /wp-admin3,997 ▲1,8205.68 ▲0.04153.54 ▲54.85137.49 ▲95.49
Posts /wp-admin/edit.php3,378 ▲1,2753.46 ▲1.5093.63 ▲52.70122.63 ▲83.10
Add New Post /wp-admin/post-new.php2,051 ▲52518.61 ▼4.49751.99 ▲113.4939.69 ▼17.51
Media Library /wp-admin/upload.php2,626 ▲1,2235.71 ▲1.60148.41 ▲48.90110.67 ▲69.63
Notices /wp-admin/index.php?page=wp-adminify-notices1,8002.6060.9156.42
Freemius Debug [v.2.6.0] /wp-admin/admin.php?page=freemius2,0002.7263.5752.07
/wp-admin/index.php?page=wp-adminify-setup-wizard7184.2698.0411.62

Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 25% from 4 tests

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
  • The plugin did not uninstall gracefully
    • > Notice in wp-content/plugins/adminify/Libs/freemius/includes/class-freemius.php+8546
    Undefined property: stdClass::$plugins
  • The uninstall procedure failed, leaving 2 tables in the database
    • wp_adminify_page_speed
    • wp_adminify_activity_logs
  • This plugin did not uninstall successfully, leaving 27 options in the database
    • jltwp_adminify_setup_wizard_ran
    • adminify_activity_logs_version
    • db_upgraded
    • dashboard_widgets
    • jltwp_adminify_notice_what_we_collect
    • fs_debug_mode
    • wp_adminify_version
    • widget_theysaidso_widget
    • widget_recent-posts
    • fs_accounts
    • ...

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though everything seems fine, this is not an exhaustive test

SRP 0% 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
Please fix the following items
  • 7× PHP files output non-empty strings when accessed directly via GET requests:
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/login-custom-styles.php
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/templates/template-03.php
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/footer-slideshow.php
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/login-styles.php
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/footer-video.php
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/templates/template-02.php
    • > /wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/templates/template-01.php
  • 29× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function is_customize_preview() in wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/wp-adminify-login-template.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'WPAdminify\\Inc\\Classes\otifications\\Model\otice' not found in wp-content/plugins/adminify/Inc/Classes/Notifications/Latest_Updates.php:13
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/adminify/Inc/Classes/Upgrades/upgrade-3.0.2.php:8
    • > PHP Fatal error
      Uncaught Error: Class 'WPAdminify\\Inc\\Base_Model' not found in wp-content/plugins/adminify/Inc/Modules/NotificationBar/Inc/NotificationBarModel.php:14
    • > PHP Fatal error
      Uncaught Error: Class 'WPAdminify\\Inc\\Classes\otifications\\Model\otice' not found in wp-content/plugins/adminify/Inc/Classes/Notifications/Subscribe.php:13
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/google-font.php:4
    • > PHP Fatal error
      Uncaught Error: Class 'WPAdminify\\Inc\\Base_Model' not found in wp-content/plugins/adminify/Inc/Modules/SidebarGenerator/Sidebar_Generator_Model.php:7
    • > PHP Fatal error
      Uncaught Error: Class 'WPAdminify\\Inc\\Classes\otifications\\Model\\Popup' not found in wp-content/plugins/adminify/Inc/Classes/Notifications/Upgrade_Notice.php:14
    • > PHP Fatal error
      Uncaught Error: Class 'WPAdminify\\Inc\\Classes\otifications\\Model\otice' not found in wp-content/plugins/adminify/Inc/Classes/Notifications/Ask_For_Rating.php:12
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/adminify/Inc/Modules/LoginCustomizer/Inc/login-preset-styles.php:8

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
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 undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that require attention:
  • Screenshots: Add an image for screenshot #9 (Disable Comments for WordPress)
Please take inspiration from this readme.txt

adminify/adminify.php 92% from 13 tests

The main file in "WP Adminify - WordPress Dashboard Customization | Custom Login | Admin Columns | Dashboard Widget | Media Library Folders" v. 3.2.0 serves as a complement to information provided in readme.txt and as the entry point to the plugin
The following require your attention:
  • Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 297 characters long)

Code Analysis 95% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Everything looks great! No dangerous files found in this plugin181,889 lines of code in 631 files:
LanguageFilesBlank linesComment linesLines of code
PHP38515,30523,50475,014
CSS1302,3051,19349,808
JavaScript436,9526,68542,908
PO File203,1983,5916,500
Sass1696935,667
SVG37121,992

PHP code 0% from 2 tests

An short overview of logical lines of code, cyclomatic complexity, and other code metrics
The following items need your attention
  • Please reduce cyclomatic complexity of classes to less than 1000 (currently 3,096)
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 174)
Cyclomatic complexity
Average complexity per logical line of code0.53
Average class complexity31.33
▷ Minimum class complexity1.00
▷ Maximum class complexity3,096.00
Average method complexity4.21
▷ Minimum method complexity1.00
▷ Maximum method complexity174.00
Code structure
Namespaces39
Interfaces1
Traits2
Classes285
▷ Abstract classes196.67%
▷ Concrete classes26693.33%
▷ Final classes00.00%
Methods2,757
▷ Static methods35412.84%
▷ Public methods2,32284.22%
▷ Protected methods411.49%
▷ Private methods39414.29%
Functions190
▷ Named functions17391.05%
▷ Anonymous functions178.95%
Constants161
▷ Global constants11370.19%
▷ Class constants4829.81%
▷ Public constants48100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
69 compressed PNG files occupy 0.92MB
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/vendors/vegas/overlays/09.png0.12KB0.12KB0.00%
Inc/Modules/LoginCustomizer/assets/images/layouts/column-bottom.png0.50KB0.54KB0.00%
Inc/Modules/LoginCustomizer/assets/images/templates/template-06.png10.86KB5.19KB▼ 52.18%
Inc/Modules/LoginCustomizer/assets/images/layouts/form-center-center.png1.05KB1.09KB0.00%
assets/vendors/vegas/overlays/08.png0.10KB0.11KB0.00%