88% fancify-core

Code Review | Fancify Core

WordPress plugin Fancify Core scored 88% from 54 tests.

About plugin

  • Plugin page: fancify-core
  • Plugin version: 1.6.5
  • PHP compatiblity: 7.0+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0-5.8
  • WordPress version: 5.8.1
  • First release: Jan 14, 2020
  • Latest release: Aug 26, 2021
  • Number of updates: 10
  • Update frequency: every 59.4 days
  • Top authors: splendorstudio (100%)

Code review

54 tests

User reviews

2 reviews

Install metrics

200+ active / 2,528 total downloads

Benchmarks

Plugin footprint Passed 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▼0.00MB] [CPU: ▼166.15ms] Passed 4 tests

An overview of server-side resources used by Fancify Core
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /2.84 ▲0.0036.53 ▼3.97
Dashboard /wp-admin3.06 ▲0.0045.43 ▼69.03
Posts /wp-admin/edit.php3.11 ▲0.0047.84 ▼9.28
Add New Post /wp-admin/post-new.php5.42 ▼0.0297.70 ▼582.31
Media Library /wp-admin/upload.php3.01 ▲0.0039.68 ▲8.71

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

Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 853 new files
Database: no new tables, no new options

Browser metrics Passed 4 tests

A check of browser resources used by Fancify Core
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,679 ▲8315.88 ▼0.108.04 ▼0.2949.98 ▼21.38
Dashboard /wp-admin2,973 ▲425.87 ▼0.05140.28 ▼37.34121.20 ▼13.96
Posts /wp-admin/edit.php2,739 ▼02.69 ▼0.0169.25 ▼7.1395.76 ▼14.98
Add New Post /wp-admin/post-new.php1,683 ▲8918.76 ▼0.01380.51 ▼16.37120.17 ▲11.51
Media Library /wp-admin/upload.php1,807 ▼05.00 ▼0.02161.22 ▲1.97131.27 ▲8.41

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
This plugin's uninstaller ran successfully

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
The smoke test was a success, however most plugin functionality was not tested

SRP 0% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
The following issues need your attention
  • 14× PHP files output text when accessed directly (only 10 are shown):
    • > /wp-content/plugins/fancify-core/views/tpl/admin/importer.php
    • > /wp-content/plugins/fancify-core/views/tpl/widgets/single/title/clean.php
    • > /wp-content/plugins/fancify-core/views/tpl/widgets/single/agent/broker-lite.php
    • > /wp-content/plugins/fancify-core/app/kirki/controls/views/generic.php
    • > /wp-content/plugins/fancify-core/app/kirki/controls/views/radio.php
    • > /wp-content/plugins/fancify-core/app/kirki/controls/views/textarea.php
    • > /wp-content/plugins/fancify-core/views/tpl/admin/dashboard-footer.php
    • > /wp-content/plugins/fancify-core/app/kirki/controls/views/select.php
    • > /wp-content/plugins/fancify-core/app/kirki/controls/views/code.php
    • > /wp-content/plugins/fancify-core/app/kirki/controls/views/color.php
  • 383× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/fancify-core/app/acf/includes/l10n.php:153
    • > PHP Fatal error
      Uncaught Error: Class 'Kirki_Field' not found in wp-content/plugins/fancify-core/app/kirki/field/class-kirki-field-dashicons.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'Kirki_Field_Checkbox' not found in wp-content/plugins/fancify-core/app/kirki/field/class-kirki-field-toggle.php:15
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/fancify-core/app/acf/includes/admin/views/html-location-rule.php on line 7
    • > PHP Fatal error
      Uncaught Error: Class 'FancifyCore\\Controllers\\Elementor\\Widgets\\Single\\FancifyCore_Controllers_Elementor_Widgets_Single_Controller' not found in wp-content/plugins/fancify-core/controllers/elementor/widgets/single/slider.php:19
    • > PHP Fatal error
      Uncaught Error: Class 'FancifyCore\\Controllers\\Elementor\\Widgets\\Single\\FancifyCore_Controllers_Elementor_Widgets_Single_Controller' not found in wp-content/plugins/fancify-core/controllers/elementor/widgets/single/unitswitcher.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'Kirki_Field' not found in wp-content/plugins/fancify-core/app/kirki/field/class-kirki-field-multicheck.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'Kirki_Output' not found in wp-content/plugins/fancify-core/app/kirki/modules/css/field/class-kirki-output-field-multicolor.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'Kirki_Output_Property' not found in wp-content/plugins/fancify-core/app/kirki/modules/css/property/class-kirki-output-property-background-position.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'FancifyCore\\Controllers\\Admin\\FancifyCore_Controllers_Admin_Admin' not found in wp-content/plugins/fancify-core/controllers/admin/user/profile.php:12

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Everything seems fine on the user side

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
10 plugin tags: real-estate, realty, property, agent, fancify...

fancify-core/fancify-core.php 92% from 13 tests

Analyzing the main PHP file in "Fancify Core" version 1.6.5
The following require your attention:
  • Description: If Twitter did it, so should we! Keep the description under 140 characters (currently 163 characters long)

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
Everything looks great! No dangerous files found in this plugin170,542 lines of code in 767 files:
LanguageFilesBlank linesComment linesLines of code
PHP44915,09134,53657,193
CSS355,30488739,748
JavaScript11310,8779,89739,612
Sass914,49339522,675
JSON4008,318
SVG71401,904
Markdown233901,051
YAML17027
SQL11314

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.40
Average class complexity14.29
▷ Minimum class complexity1.00
▷ Maximum class complexity209.00
Average method complexity3.20
▷ Minimum method complexity1.00
▷ Maximum method complexity71.00
Code structure
Namespaces25
Interfaces0
Traits4
Classes344
▷ Abstract classes61.74%
▷ Concrete classes33898.26%
▷ Final classes144.14%
Methods2,108
▷ Static methods24011.39%
▷ Public methods1,67979.65%
▷ Protected methods39418.69%
▷ Private methods351.66%
Functions482
▷ Named functions45895.02%
▷ Anonymous functions244.98%
Constants45
▷ Global constants3884.44%
▷ Class constants715.56%
▷ Public constants7100.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
41 PNG files occupy 0.70MB with 0.19MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
app/kirki/assets/images/1c.png0.77KB0.15KB▼ 80.03%
app/acf/assets/inc/datepicker/images/ui-icons_444444_256x240.png3.68KB4.17KB0.00%
app/acf/assets/inc/datepicker/images/ui-icons_ffffff_256x240.png3.68KB4.17KB0.00%
app/acf/assets/inc/select2/3/select2x2.png0.64KB0.77KB0.00%
views/assets/admin/img/logo.png8.51KB3.58KB▼ 57.86%