WordPress plugin Set a Time scored 73% from 54 tests.

About plugin

  • Plugin page: set-a-time-appoin...
  • Plugin version: 1.1.0
  • PHP version: 7.4.16
  • WordPress compatibility: 3.0.0-5.8
  • WordPress version: 6.3.1
  • First release: Dec 14, 2018
  • Latest release: Jul 13, 2021
  • Number of updates: 18
  • Update frequency: every 52.3 days
  • Top authors: setatime (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active / 908 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully

Server metrics [RAM: ▼1.91MB] [CPU: ▼54.95ms] Passed 4 tests

Analyzing server-side resources used by Set a Time
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /2.07 ▼1.394.45 ▼34.21
Dashboard /wp-admin2.09 ▼1.216.39 ▼55.21
Posts /wp-admin/edit.php2.09 ▼1.267.08 ▼44.10
Add New Post /wp-admin/post-new.php2.09 ▼3.796.03 ▼86.26
Media Library /wp-admin/upload.php2.09 ▼1.145.79 ▼29.10

Server storage [IO: ▲0.01MB] [DB: ▲0.00MB] Passed 3 tests

Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 7 new files
Database: no new tables, 8 new options
New WordPress options
db_upgraded
sat_height
widget_recent-posts
can_compress_scripts
sat_width
widget_recent-comments
widget_theysaidso_widget
theysaidso_admin_options

Browser metrics Passed 4 tests

A check of browser resources used by Set a Time
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,821 ▲6414.47 ▲0.051.61 ▼0.4841.57 ▼4.89
Dashboard /wp-admin2,226 ▲385.85 ▼0.0495.68 ▼5.1380.61 ▲32.83
Posts /wp-admin/edit.php2,088 ▼42.14 ▲0.1737.21 ▼3.3431.34 ▼5.79
Add New Post /wp-admin/post-new.php1,682 ▲14022.39 ▲4.00731.92 ▲94.3251.54 ▼2.98
Media Library /wp-admin/upload.php1,405 ▲174.15 ▼0.26110.40 ▲6.0751.82 ▲6.91

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

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Please fix the following items
  • Uninstall procedure had uncaught errors
    • > User notice in wp-includes/functions.php+5905
    Function wp_enqueue_style 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 sat-admin-style handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
  • The uninstall procedure has failed, leaving 6 options in the database
    • widget_theysaidso_widget
    • can_compress_scripts
    • widget_recent-posts
    • widget_recent-comments
    • db_upgraded
    • theysaidso_admin_options

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested

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
  • 1× 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/set-a-time-appointment-scheduling/setatime.php:14

User-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found

Optimizations

Plugin configuration 86% from 29 tests

readme.txt 81% from 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
Please fix the following attributes:
  • Screenshots: Add an image for screenshot #1 (Set a Time being used in a medical setting)
  • Contributors: Plugin contributors not specified
  • Tags: Please delete some tags, you are using 15 tag instead of maximum 10
Please take inspiration from this readme.txt

set-a-time-appointment-scheduling/setatime.php 92% from 13 tests

"Set a Time" version 1.1.0's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
Please make the necessary changes and fix the following:
  • Main file name: It is recommended to name the main PHP file as the plugin slug ("set-a-time-appointment-scheduling.php" instead of "setatime.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Good job! No executable or dangerous file extensions detected124 lines of code in 3 files:
LanguageFilesBlank linesComment linesLines of code
PHP21812117
CSS1107

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
Everything seems fine, there were no complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.20
Average class complexity11.00
▷ Minimum class complexity11.00
▷ Maximum class complexity11.00
Average method complexity2.11
▷ Minimum method complexity1.00
▷ Maximum method complexity5.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes1
▷ Abstract classes00.00%
▷ Concrete classes1100.00%
▷ Final classes00.00%
Methods9
▷ Static methods00.00%
▷ Public methods9100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions0
▷ Named functions00.00%
▷ Anonymous functions00.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
2 compressed PNG files occupy 0.00MB
Potential savings
Compression of 2 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/images/set-a-time-icon.png0.34KB0.34KB0.00%
images/set-a-time-icon.png0.34KB0.34KB0.00%