Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The following installer errors require your attention
- The plugin did not install without errors
- > Deprecated in wp-includes/class-wp-hook.php+310
Non-static method AttendanceInstall::activationPlugin() should not be called statically
Server metrics [RAM: ▲0.48MB] [CPU: ▲0.50ms] Passed 4 tests
A check of server-side resources used by 出勤・勤怠プラグイン
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.97 ▲0.50 | 38.05 ▼5.74 |
Dashboard /wp-admin | 3.82 ▲0.51 | 48.88 ▼0.68 |
Posts /wp-admin/edit.php | 3.87 ▲0.51 | 48.08 ▲2.90 |
Add New Post /wp-admin/post-new.php | 6.34 ▲0.45 | 120.45 ▲26.65 |
Media Library /wp-admin/upload.php | 3.68 ▲0.45 | 38.44 ▲5.51 |
Server storage [IO: ▲0.15MB] [DB: ▲0.00MB] Passed 3 tests
How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 25 new files
Database: 2 new tables, 7 new options
New tables |
---|
wp_os_attendance_plugin_skillsheet_option_data |
wp_os_attendance_plugin_data |
New WordPress options |
---|
widget_theysaidso_widget |
widget_recent-comments |
theysaidso_admin_options |
can_compress_scripts |
widget_recent-posts |
db_upgraded |
os_attendance_management_Plugin |
Browser metrics Passed 4 tests
This is an overview of browser requirements for 出勤・勤怠プラグイン
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,849 ▲114 | 13.48 ▼1.18 | 1.69 ▼0.11 | 38.75 ▼5.41 |
Dashboard /wp-admin | 2,248 ▲60 | 5.97 ▲1.08 | 99.50 ▼10.02 | 47.02 ▼1.57 |
Posts /wp-admin/edit.php | 2,134 ▲45 | 2.02 ▲0.03 | 37.92 ▼0.36 | 42.04 ▲8.20 |
Add New Post /wp-admin/post-new.php | 1,570 ▲37 | 23.06 ▼0.12 | 630.14 ▼54.55 | 59.21 ▲2.48 |
Media Library /wp-admin/upload.php | 1,436 ▲54 | 4.22 ▲0.06 | 96.03 ▲0.43 | 53.17 ▲8.97 |
/wp-admin/attendance-management-write.php | 26 | 0.44 | 0.08 | 13.66 |
基本設定 /wp-admin/attendance-management-options.php | 26 | 0.44 | 0.15 | 6.96 |
/wp-admin/attendance-management-agreement.php | 26 | 0.44 | 0.10 | 6.35 |
/wp-admin/attendance-management-format.php | 26 | 0.44 | 0.09 | 6.40 |
出勤・勤怠プラグイン /wp-admin/attendance-management-view.php | 26 | 0.44 | 0.06 | 4.83 |
プロフ(スキル)設定 /wp-admin/attendance-management-prof-option.php | 26 | 0.44 | 0.09 | 6.65 |
出勤・勤怠の新規作成 /wp-admin/attendance-management-post.php | 26 | 0.44 | 0.12 | 7.05 |
ヘルプページ /wp-admin/attendance-management-help.php | 26 | 0.44 | 0.12 | 6.64 |
出勤・勤怠の一覧 /wp-admin/attendance-management-list.php | 26 | 0.44 | 0.09 | 5.40 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% 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
- Zombie tables were found after uninstall: 2 tables
- wp_os_attendance_plugin_skillsheet_option_data
- wp_os_attendance_plugin_data
- This plugin did not uninstall successfully, leaving 7 options in the database
- widget_recent-posts
- widget_recent-comments
- can_compress_scripts
- theysaidso_admin_options
- widget_theysaidso_widget
- db_upgraded
- os_attendance_management_Plugin
Smoke tests 50% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though everything seems fine, this is not an exhaustive test
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
Please fix the following items
- 9× GET requests to PHP files trigger server-side errors or Error 500 responses:
- > PHP Fatal error
Uncaught Error: Class 'AttendanceClass' not found in wp-content/plugins/os-attendance-management/class/sqlClass.php:3
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/os-attendance-management/attendance-management.php on line 18
- > PHP Fatal error
Uncaught Error: Class 'AttendanceClass' not found in wp-content/plugins/os-attendance-management/class/csvClass.php:3
- > PHP Notice
Trying to get property 'prefix' of non-object in wp-content/plugins/os-attendance-management/attendance-management.php on line 19
- > PHP Fatal error
Uncaught Error: Class 'AttendanceClass' not found in wp-content/plugins/os-attendance-management/attendanceProfClass.php:2
- > PHP Fatal error
Uncaught Error: Class 'AttendanceClass' not found in wp-content/plugins/os-attendance-management/attendanceAdminClass.php:2
- > PHP Fatal error
Uncaught Error: Class 'AttendanceClass' not found in wp-content/plugins/os-attendance-management/attendanceMainClass.php:2
- > PHP Fatal error
Uncaught Error: Class 'AttendanceClass' not found in wp-content/plugins/os-attendance-management/attendanceUserClass.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/os-attendance-management/attendance-management.php:23
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
These are user-side errors you should fix
- > GET request to /wp-admin/attendance-management-write.php
- > Network (severe)
wp-admin/attendance-management-write.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-options.php
- > Network (severe)
wp-admin/attendance-management-options.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-agreement.php
- > Network (severe)
wp-admin/attendance-management-agreement.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-format.php
- > Network (severe)
wp-admin/attendance-management-format.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-view.php
- > Network (severe)
wp-admin/attendance-management-view.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-prof-option.php
- > Network (severe)
wp-admin/attendance-management-prof-option.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-post.php
- > Network (severe)
wp-admin/attendance-management-post.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-help.php
- > Network (severe)
wp-admin/attendance-management-help.php - Failed to load resource: the server responded with a status of 404 (Not Found)
- > GET request to /wp-admin/attendance-management-list.php
- > Network (severe)
wp-admin/attendance-management-list.php - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
2 plugin tags: admin, plugin
os-attendance-management/attendance-management.php 92% from 13 tests
The primary PHP file in "出勤・勤怠プラグイン" version 1.3.21 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Main file name: Name the main plugin file the same as the plugin slug ("os-attendance-management.php" instead of "attendance-management.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
No dangerous file extensions were detected3,363 lines of code in 23 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 21 | 550 | 487 | 3,182 |
CSS | 2 | 0 | 6 | 181 |
PHP code Passed 2 tests
An overview of cyclomatic complexity and code structure
Although this was not an exhaustive test, there were no cyclomatic complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.38 |
Average class complexity | 58.62 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 202.00 |
Average method complexity | 4.91 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 43.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 8 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 8 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 118 | |
▷ Static methods | 13 | 11.02% |
▷ Public methods | 96 | 81.36% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 22 | 18.64% |
Functions | 0 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 7 | |
▷ Global constants | 7 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
PNG files should be compressed to save space and minimize bandwidth usage
1 PNG file occupies 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
img/sankaku.png | 0.24KB | 0.16KB | ▼ 31.82% |