10% delicious-recipes

Code Review | WP Delicious - Best WordPress Recipes Plugin (formerly Delicious Recipes)

WordPress plugin WP Delicious - Best WordPress Recipes Plugin (formerly Delicious Recipes) scored10%from 54 tests.

About plugin

  • Plugin page: delicious-recipes
  • Plugin version: 1.5.6
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.1-6.4
  • WordPress version: 6.3.1
  • First release: Oct 6, 2020
  • Latest release: Nov 10, 2023
  • Number of updates: 94
  • Update frequency: every 12.0 days
  • Top authors: wpdelicious (100%)

Code review

54 tests

User reviews

38 reviews

Install metrics

4,000+ active /127,895 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
It is recommended to fix the following installer errors
  • Install procedure validation failed for this plugin
    • > User deprecated in wp-includes/functions.php+5453
    Function get_page_by_title is deprecated since version 6.2.0! Use WP_Query instead.

Server metrics [RAM: ▲1.03MB] [CPU: ▲8.69ms] Passed 4 tests

Server-side resources used by WP Delicious - Best WordPress Recipes Plugin (formerly Delicious Recipes)
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /4.57 ▲1.1150.45 ▲12.72
Dashboard /wp-admin4.33 ▲1.0380.32 ▲30.68
Posts /wp-admin/edit.php4.36 ▲1.0053.24 ▲3.99
Add New Post /wp-admin/post-new.php7.21 ▲1.3295.59 ▲8.78
Media Library /wp-admin/upload.php4.22 ▲0.9939.85 ▲9.26
Courses /wp-admin/edit-tags.php?taxonomy=recipe-course&post_type=recipe4.2642.45
Tags /wp-admin/edit-tags.php?taxonomy=recipe-tag&post_type=recipe4.2647.81
Settings /wp-admin/admin.php?page=delicious_recipes_global_settings4.2845.34
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius4.5840.20
Recipe Badges /wp-admin/edit-tags.php?taxonomy=recipe-badge&post_type=recipe4.2644.81
All Recipes /wp-admin/edit.php?post_type=recipe4.4460.78
Cuisines /wp-admin/edit-tags.php?taxonomy=recipe-cuisine&post_type=recipe4.2645.47
Add New /wp-admin/post-new.php?post_type=recipe7.2797.41
Cooking Methods /wp-admin/edit-tags.php?taxonomy=recipe-cooking-method&post_type=recipe4.2644.95
What's New /wp-admin/admin.php?page=delicious_recipes_whats_new4.2743.32

Server storage [IO: ▲13.71MB] [DB: ▲0.10MB] Passed 3 tests

Filesystem and database footprint
The plugin installed successfully
Filesystem: 554 new files
Database: no new tables, 19 new options
New WordPress options
delicious_recipes_recipe-dashboard_page_id
widget_delicious_popular_recipes_widget
theysaidso_admin_options
widget_delicious_popular_tags_widget
delicious_recipes_recipe-search_page_id
widget_delicious_featured_recipes_widget
fs_debug_mode
widget_delicious_recipe_categories_widget
delicious_recipes_queue_flush_rewrite_rules
widget_theysaidso_widget
...

Browser metrics Passed 4 tests

A check of browser resources used by WP Delicious - Best WordPress Recipes Plugin (formerly Delicious Recipes)
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,182 ▲42019.74 ▲5.30127.11 ▲125.4736.45 ▼7.51
Dashboard /wp-admin2,368 ▲1905.67 ▼0.0792.69 ▼24.2442.83 ▼3.96
Posts /wp-admin/edit.php2,271 ▲1682.03 ▲0.0342.42 ▲2.5040.91 ▲4.01
Add New Post /wp-admin/post-new.php6,300 ▲4,77319.92 ▼3.32869.22 ▲185.8258.30 ▲7.92
Media Library /wp-admin/upload.php1,610 ▲2074.36 ▲0.15100.85 ▲3.8045.85 ▲4.54
Courses /wp-admin/edit-tags.php?taxonomy=recipe-course&post_type=recipe2,8281.6439.2349.89
Tags /wp-admin/edit-tags.php?taxonomy=recipe-tag&post_type=recipe3,6102.4331.5340.08
Settings /wp-admin/admin.php?page=delicious_recipes_global_settings3,76813.47339.0045.47
Freemius Debug [v.2.5.10] /wp-admin/admin.php?page=freemius1,2251.6824.2027.56
Recipe Badges /wp-admin/edit-tags.php?taxonomy=recipe-badge&post_type=recipe3,6082.2830.3040.00
All Recipes /wp-admin/edit.php?post_type=recipe2,7967.2089.0532.91
Cuisines /wp-admin/edit-tags.php?taxonomy=recipe-cuisine&post_type=recipe3,6352.2929.1337.07
Add New /wp-admin/post-new.php?post_type=recipe7,55726.33983.3357.81
Cooking Methods /wp-admin/edit-tags.php?taxonomy=recipe-cooking-method&post_type=recipe3,6322.4330.0741.70
What's New /wp-admin/admin.php?page=delicious_recipes_whats_new3,37911.10102.3267.50

Uninstaller [IO: ▲0.30MB] [DB: ▲0.10MB] 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 validation failed for this plugin
    • > Notice in wp-content/plugins/delicious-recipes/src/lib/freemius/includes/class-freemius.php+8486
    Undefined property: stdClass::$plugins
  • This plugin does not fully uninstall, leaving 19 options in the database
    • can_compress_scripts
    • fs_accounts
    • delicious_recipes_recipe-dashboard_page_id
    • fs_active_plugins
    • widget_recent-comments
    • widget_theysaidso_widget
    • widget_delicious_popular_tags_widget
    • delicious_recipes_demo_imports
    • widget_delicious_popular_recipes_widget
    • theysaidso_admin_options
    • ...

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected

SRP 0% 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
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/delicious-recipes/templates/emails/email-footer.php
  • 94× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function delicious_recipes_get_global_settings() in wp-content/plugins/delicious-recipes/templates/recipe/recipe-share.php:9
    • > PHP Fatal error
      Uncaught Error: Call to undefined function post_password_required() in wp-content/plugins/delicious-recipes/templates/global/comments.php:18
    • > PHP Fatal error
      Uncaught Error: Call to undefined function delicious_recipes_get_global_settings() in wp-content/plugins/delicious-recipes/templates/archive/header.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _nx() in wp-content/plugins/delicious-recipes/templates/recipe/recipe-like.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/delicious-recipes/templates/pages/recipe-courses.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/delicious-recipes/src/admin/partials/dr-import-recipe-screen.php:6
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/delicious-recipes/templates/emails/email-header.php:6
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_categories() in wp-content/plugins/delicious-recipes/templates/global/search/filter-recipe-type.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function delicious_recipes_get_template() in wp-content/plugins/delicious-recipes/templates/taxonomy-recipe-tag.php:5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function delicious_recipes_get_nutrition_facts() in wp-content/plugins/delicious-recipes/templates/recipe/recipe-block/nutrition.php:7

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please take a look at the following user-side issues
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=delicious_recipes_global_settings
    • > Network (severe)
    /wp-json/wp/v2/pages?per_page=100 - Failed to load resource: the server responded with a status of 404 (Not Found)
  • 4 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=delicious_recipes_global_settings
    • > Javascript (severe) in unknown
    /wp-content/plugins/delicious-recipes/assets/build/global.js?ver=9ccde02aa392911d223737a7144a59c7 0:6241
    • > GET request to /wp-admin/admin.php?page=delicious_recipes_global_settings
    • > Network (severe)
    /wp-json/wp/v2/users - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/admin.php?page=delicious_recipes_global_settings
    • > Network (severe)
    /wp-json/deliciousrecipe/v1/recipe-global - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/post-new.php?post_type=recipe
    • > Network (severe)
    /wp-json/deliciousrecipe/v1/recipe/22 - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/post-new.php?post_type=recipe
    • > Javascript (severe) in unknown
    /wp-content/plugins/delicious-recipes/assets/build/recipe.js?ver=a396512bbbc8767bf0f50ebe07c62dd3 0:6241

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
6 plugin tags: cooking, ingredients, recipe, food, recipes...

delicious-recipes/delicious-recipes.php 92% from 13 tests

The entry point to "WP Delicious - Best WordPress Recipes Plugin (formerly Delicious Recipes)" version 1.5.6 is a PHP file that has certain tags in its header comment area
Please take the time to fix the following:
  • Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 144 characters long)

Code Analysis 97% 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
Good job! No executable or dangerous file extensions detected98,595 lines of code in 445 files:
LanguageFilesBlank linesComment linesLines of code
PHP29411,71823,12453,019
CSS502,46538618,512
JavaScript492,4597,74713,866
SVG110125,221
JSON36004,502
PO File11,0572,5272,211
Sass2521748
XML100302
Markdown1680214

PHP code 50% from 2 tests

This is a very shot review of cyclomatic complexity and code structure
It is recommended to fix the following
  • Cyclomatic complexity of classes has to be reduced to less than 1000 (currently 3,073)
Cyclomatic complexity
Average complexity per logical line of code0.60
Average class complexity64.44
▷ Minimum class complexity1.00
▷ Maximum class complexity3,073.00
Average method complexity4.57
▷ Minimum method complexity1.00
▷ Maximum method complexity99.00
Code structure
Namespaces3
Interfaces0
Traits0
Classes102
▷ Abstract classes32.94%
▷ Concrete classes9997.06%
▷ Final classes22.02%
Methods1,800
▷ Static methods32718.17%
▷ Public methods1,32273.44%
▷ Protected methods291.61%
▷ Private methods44924.94%
Functions230
▷ Named functions21493.04%
▷ Anonymous functions166.96%
Constants157
▷ Global constants11070.06%
▷ Class constants4729.94%
▷ Public constants47100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
31 PNG files occupy 0.34MB with 0.06MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/images/pinit-sm.png1.10KB0.83KB▼ 24.53%
assets/images/print-img/youtube.png0.60KB0.36KB▼ 39.67%
assets/public/images/dr-share-bg.png30.19KB31.12KB0.00%
assets/images/print-img/snapchat.png0.71KB0.53KB▼ 25.65%
assets/lib/datatables/DataTables-1.10.22/images/sort_both.png0.20KB0.29KB0.00%