67% awesome-fitness-testimonials

Code Review | Awesome Fitness Testimonials

WordPress plugin Awesome Fitness Testimonials scored67%from 54 tests.

About plugin

  • Plugin page: awesome-fitness-t...
  • Plugin version: 1.0.1
  • PHP version: 7.4.16
  • WordPress compatibility: 3.5-4.1.1
  • WordPress version: 6.3.1
  • First release: Feb 14, 2015
  • Latest release: Feb 24, 2015
  • Number of updates: 11
  • Update frequency: every 4.6 days
  • Top authors: szstar (100%)

Code review

54 tests

User reviews

2 reviews

Install metrics

30+ active /2,613 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

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

Server metrics [RAM: ▼0.35MB] [CPU: ▼7.79ms] Passed 4 tests

A check of server-side resources used by Awesome Fitness Testimonials
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /3.91 ▲0.1851.91 ▲5.89
Dashboard /wp-admin4.01 ▲0.3862.08 ▼8.45
Posts /wp-admin/edit.php4.07 ▲0.3968.66 ▲13.01
Add New Post /wp-admin/post-new.php3.80 ▼2.3565.52 ▼41.61
Media Library /wp-admin/upload.php3.87 ▲0.3860.34 ▲17.21
Add New /wp-admin/post-new.php?post_type=testimonial3.7950.18
Groups /wp-admin/edit-tags.php?taxonomy=testimonial_group&post_type=testimonial3.8857.69
Testimonials /wp-admin/edit.php?post_type=testimonial3.9953.61
Settings /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings3.8252.43

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

Filesystem and database footprint
This plugin installed successfully
Filesystem: 80 new files
Database: no new tables, 9 new options
New WordPress options
wpft
widget_theysaidso_widget
can_compress_scripts
widget_recent-posts
db_upgraded
testimonial_group_children
wpft_version
theysaidso_admin_options
widget_recent-comments

Browser metrics Passed 4 tests

An overview of browser requirements for Awesome Fitness Testimonials
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,837 ▲7614.31 ▲0.101.65 ▼0.9038.45 ▼5.58
Dashboard /wp-admin2,228 ▲515.55 ▼0.0593.42 ▼9.3766.47 ▲23.83
Posts /wp-admin/edit.php2,145 ▲452.34 ▲0.3544.62 ▲5.2435.48 ▼3.67
Add New Post /wp-admin/post-new.php1,717 ▲19122.38 ▲4.92781.60 ▲90.6266.79 ▲4.17
Media Library /wp-admin/upload.php1,433 ▲334.21 ▼0.0499.90 ▼10.1271.88 ▲27.96
Add New /wp-admin/post-new.php?post_type=testimonial2,7868.48211.3686.51
Groups /wp-admin/edit-tags.php?taxonomy=testimonial_group&post_type=testimonial1,6772.3128.3337.96
Testimonials /wp-admin/edit.php?post_type=testimonial1,3553.4955.0668.44
Settings /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings1,9025.35119.79153.89

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
These items require your attention
  • This plugin does not fully uninstall, leaving 9 options in the database
    • wpft
    • widget_recent-comments
    • can_compress_scripts
    • testimonial_group_children
    • widget_recent-posts
    • widget_theysaidso_widget
    • db_upgraded
    • theysaidso_admin_options
    • wpft_version

Smoke tests 0% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
These errors were triggered by the plugin
    • > GET request to /wp-admin/post-new.php?post_type=testimonial
    • > Notice in wp-content/plugins/awesome-fitness-testimonials/includes/admin.php+379
    Undefined index: wpft_noncename
  • 7 occurences, only the last one shown
    • > GET request to /wp-admin/post-new.php?post_type=testimonial
    • > Notice in wp-content/plugins/awesome-fitness-testimonials/includes/admin.php+737
    Undefined variable: layout_selected
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1771
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_section_colors' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_background_color' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_maintext_color' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_maintext_color_alt' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_title_color' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Notice in wp-content/plugins/awesome-fitness-testimonials/includes/admin.php+456
    Undefined offset: 0
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Notice in wp-content/plugins/awesome-fitness-testimonials/includes/admin.php+584
    Trying to access array offset on value of type null
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1771
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_section_promotion' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_in_between' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_in_between_interval' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_wpft_like_button' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1771
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_section_custom_css' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_custom_css' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1771
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_section_custom_html' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_noimage' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_single' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_double' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_video' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_alt_one' not found or invalid function name
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Warning in wp-admin/includes/template.php+1824
    call_user_func() expects parameter 1 to be a valid callback, function 'wpft_field_template_alt_two' not found or invalid function name
  • 4 occurences, only the last one shown
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Notice in wp-content/plugins/awesome-fitness-testimonials/includes/admin.php+584
    Undefined variable: wpft_options

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following items
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/awesome-fitness-testimonials/assets/wpft.css.php
  • 6× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/awesome-fitness-testimonials/includes/post-ordering.php:324
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/awesome-fitness-testimonials/includes/single-testimonial.php:8
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/awesome-fitness-testimonials/includes/functions.php:7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/awesome-fitness-testimonials/includes/archive-testimonial.php:8
    • > PHP Fatal error
      Uncaught Error: Call to undefined function plugin_basename() in wp-content/plugins/awesome-fitness-testimonials/awesome-fitness-testimonials.php:30
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/awesome-fitness-testimonials/includes/admin.php:9

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please fix the following browser errors
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Network (severe)
    https://bh166.infusionsoft.com/app/form/iframe/0cf72150a9e1d54b47bddbb48f21ee41 - Failed to load resource: net::ERR_NAME_NOT_RESOLVED
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Rendering (warning) in unknown
    /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings 301 The specified value "'.intval($wpft_options['in_between_interval']).'" cannot be parsed, or is out of range.
    • > GET request to /wp-admin/edit.php?post_type=testimonial&page=testimonial_settings
    • > Javascript (severe) in unknown
    /wp-content/plugins/awesome-fitness-testimonials/assets/js/justgage/raphael.2.1.0.min.js?ver=1.0.1 9:9283 Uncaught ReferenceError: eve is not defined

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
These attributes need to be fixed:
  • Tags: Please reduce the number of tags, currently 21 tag instead of maximum 10
The official readme.txt might help

awesome-fitness-testimonials/awesome-fitness-testimonials.php Passed 13 tests

Analyzing the main PHP file in "Awesome Fitness Testimonials" version 1.0.1
129 characters long description:
Get Higher Fitness Web Design Performance: Showcase fitness & wellness testimonials, reviews, and case studies better and easier.

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
Everything looks great! No dangerous files found in this plugin2,707 lines of code in 61 files:
LanguageFilesBlank linesComment linesLines of code
PHP84143521,565
JavaScript5112770928
CSS2594214

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.35
Average class complexity22.00
▷ Minimum class complexity22.00
▷ Maximum class complexity22.00
Average method complexity2.75
▷ Minimum method complexity1.00
▷ Maximum method complexity7.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes1
▷ Abstract classes00.00%
▷ Concrete classes1100.00%
▷ Final classes00.00%
Methods12
▷ Static methods18.33%
▷ Public methods1083.33%
▷ Protected methods216.67%
▷ Private methods00.00%
Functions54
▷ Named functions54100.00%
▷ Anonymous functions00.00%
Constants7
▷ Global constants7100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
14 PNG files occupy 0.04MB with 0.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/images/dashicon-order.png1.20KB0.26KB▼ 78.19%
assets/images/force_layout_options_4.png1.25KB0.26KB▼ 79.19%
assets/images/force_layout_options_6.png1.79KB0.65KB▼ 63.64%
assets/images/force_layout_options_2.png1.09KB0.13KB▼ 87.71%
assets/images/FWF-Icon-16.png1.29KB0.51KB▼ 60.32%