83% restaurant-pickup-delivery-dine-in

Code Review | Pickup | Delivery | Dine-in date time

WordPress plugin Pickup | Delivery | Dine-in date time scored83%from 54 tests.

About plugin

  • Plugin page: restaurant-pickup...
  • Plugin version: 1.0.9
  • PHP compatiblity: 5.2.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 3.5-5.9.3
  • WordPress version: 6.3.1
  • First release: Sep 16, 2019
  • Latest release: Apr 7, 2022
  • Number of updates: 55
  • Update frequency: every 17.0 days
  • Top authors: mdalabar (100%)

Code review

54 tests

User reviews

19 reviews

Install metrics

40+ active /3,125 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully

Server metrics [RAM: ▲0.45MB] [CPU: ▲0.34ms] Passed 4 tests

Server-side resources used by Pickup | Delivery | Dine-in date time
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /3.89 ▲0.4346.39 ▲2.42
Dashboard /wp-admin3.76 ▲0.4654.18 ▲3.89
Posts /wp-admin/edit.php3.87 ▲0.5251.82 ▲5.09
Add New Post /wp-admin/post-new.php6.34 ▲0.4587.55 ▼4.33
Media Library /wp-admin/upload.php3.68 ▲0.4539.39 ▼0.63
Timeslot Setting /wp-admin/admin.php?page=byconsolewooodtrestro_admin_timeslot_settings3.6536.16
Custom Modification Request /wp-admin/admin.php?page=byconsolewooodtrestro_admin_modification_request_settings3.6535.25
Tweak Features /wp-admin/admin.php?page=byconsolewooodtrestro_admin_tweak_features_settings3.6530.81
Pickup | Delivery | Dine in /wp-admin/admin.php?page=byconsolewooodtrestro_general_settings3.6539.68
Holiday Management /wp-admin/admin.php?page=byconsolewooodtrestro_admin_holiday_settings3.6534.71

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

Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 121 new files
Database: no new tables, 15 new options
New WordPress options
byconsolewooodtrestro_dinein_lable
widget_recent-posts
can_compress_scripts
byconsolewooodtrestro_takeaway_lable
widget_recent-comments
byconsolewooodtrestro_widget_field_position
theysaidso_admin_options
byconsolewooodtrestro_free_plugin_activation_date
widget_byconsolewooodtrestro_widget
byconsolewooodtrestro_delivery_lable
...

Browser metrics Passed 4 tests

An overview of browser requirements for Pickup | Delivery | Dine-in date time
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,915 ▲15413.36 ▼0.998.35 ▲6.5349.45 ▲3.93
Dashboard /wp-admin2,234 ▲545.65 ▼0.0195.42 ▲6.8342.20 ▼0.25
Posts /wp-admin/edit.php2,139 ▲361.97 ▼0.0535.41 ▼1.7435.05 ▼1.56
Add New Post /wp-admin/post-new.php1,557 ▲2023.19 ▲4.82655.64 ▼24.7758.98 ▲0.09
Media Library /wp-admin/upload.php1,442 ▲454.25 ▲0.00101.22 ▼3.9043.91 ▼2.63
Timeslot Setting /wp-admin/admin.php?page=byconsolewooodtrestro_admin_timeslot_settings1,2321.8226.9424.45
Custom Modification Request /wp-admin/admin.php?page=byconsolewooodtrestro_admin_modification_request_settings8811.6725.8229.84
Tweak Features /wp-admin/admin.php?page=byconsolewooodtrestro_admin_tweak_features_settings8352.0024.7523.83
Pickup | Delivery | Dine in /wp-admin/admin.php?page=byconsolewooodtrestro_general_settings1,3442.0024.1230.18
Holiday Management /wp-admin/admin.php?page=byconsolewooodtrestro_admin_holiday_settings8942.0124.9527.23

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
  • Zombie WordPress options detected upon uninstall: 15 options
    • widget_recent-comments
    • byconsolewooodtrestro_guest_purpose
    • byconsolewooodtrestro_free_plugin_activation_date
    • theysaidso_admin_options
    • byconsolewooodtrestro_order_type
    • byconsolewooodtrestro_guest_no
    • widget_theysaidso_widget
    • widget_byconsolewooodtrestro_widget
    • can_compress_scripts
    • byconsolewooodtrestro_dinein_lable
    • ...

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though no errors were found, this is by no means an exhaustive test

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
The following issues need your attention
  • 5× 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/restaurant-pickup-delivery-dine-in/inc/byconsolewooodtrestro_holiday_management.php:493
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/restaurant-pickup-delivery-dine-in/inc/byconsolewooodtrestro_modification_request_details.php:749
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/restaurant-pickup-delivery-dine-in/inc/byconsolewooodtrestro_holiday_management.php:493
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/restaurant-pickup-delivery-dine-in/inc/byconsolewooodtrestro_timeslot_setting.php:38
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/restaurant-pickup-delivery-dine-in/inc/byconsolewooodtrestro_tweak_features.php:45

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)
No browser errors were detected

Optimizations

Plugin configuration 87% from 29 tests

readme.txt 88% from 16 tests

It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that need to be fixed:
  • Tags: You are using too many tags: 19 tag instead of maximum 10
  • Screenshots: These screenshots require images: #2 (Custom time slot for take away to choose on checkout page), #3 (Custom time slot for pickup settings page at back-end.), #4 (Custom time slot for delivery settings page at back-end.), #5 (Custom time slot for dine in settings page at back-end.), #6 (Custom time slot for delivery to choose on checkout page), #7 (Custom time slot for delivery to choose on checkout page), #8 (Date picker on checkout page for dine in booking.), #9 (Date picker on checkout page for dine in booking.), #14 (Order details page at customer side.)
You can take inspiration from this readme.txt

restaurant-pickup-delivery-dine-in/ByConsoleWooODTRestro.php 85% from 13 tests

The entry point to "Pickup | Delivery | Dine-in date time" version 1.0.9 is a PHP file that has certain tags in its header comment area
Please make the necessary changes and fix the following:
  • Description: Keep the plugin description shorter than 140 characters (currently 148 characters long)
  • Main file name: Name the main plugin file the same as the plugin slug ("restaurant-pickup-delivery-dine-in.php" instead of "ByConsoleWooODTRestro.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
No dangerous file extensions were detected4,123 lines of code in 26 files:
LanguageFilesBlank linesComment linesLines of code
PHP96,2933192,305
PO File67981,6901,440
CSS713518270
JavaScript43821108

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity
Average complexity per logical line of code0.39
Average class complexity50.00
▷ Minimum class complexity50.00
▷ Maximum class complexity50.00
Average method complexity13.25
▷ Minimum method complexity1.00
▷ Maximum method complexity48.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes1
▷ Abstract classes00.00%
▷ Concrete classes1100.00%
▷ Final classes00.00%
Methods4
▷ Static methods00.00%
▷ Public methods4100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions63
▷ Named functions63100.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
87 PNG files occupy 0.23MB with 0.12MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
css/images/ui-bg_glass_95_fef1ec_1x400.png0.32KB0.15KB▼ 54.82%
css/images/five.png3.14KB0.58KB▼ 81.35%
css/images/ui-bg_glass_75_dadada_1x400.png0.26KB0.16KB▼ 38.93%
images/ui-bg_glass_95_fef1ec_1x400.png0.32KB0.15KB▼ 54.82%
css/images/ui-bg_inset-soft_25_000000_1x100.png0.27KB0.18KB▼ 32.73%