78% church-theme-content

Code Review | Church Content - Sermons, Events and More

WordPress plugin Church Content - Sermons, Events and More scored 78% from 54 tests.

About plugin

  • Plugin page: church-theme-content
  • Plugin version: 2.6
  • PHP compatiblity: 5.3+
  • PHP version: 7.4.16
  • WordPress compatibility: 3.6-6.3
  • WordPress version: 6.3.1
  • First release: Sep 19, 2013
  • Latest release: Jul 27, 2023
  • Number of updates: 119
  • Update frequency: every 30.3 days
  • Top authors: stevengliebe (100%)

Code review

54 tests

User reviews

49 reviews

Install metrics

5,000+ active / 140,471 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully

Server metrics [RAM: ▲2.45MB] [CPU: ▲15.02ms] Passed 4 tests

Analyzing server-side resources used by Church Content - Sermons, Events and More
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /4.44 ▲0.9851.39 ▲13.33
Dashboard /wp-admin6.24 ▲2.9399.84 ▲46.63
Posts /wp-admin/edit.php6.31 ▲2.9562.07 ▲18.68
Add New Post /wp-admin/post-new.php8.92 ▲3.04105.95 ▲7.79
Media Library /wp-admin/upload.php6.17 ▲2.9455.63 ▲20.26
Add New /wp-admin/post-new.php?post_type=ctc_event8.97108.23
Add New /wp-admin/post-new.php?post_type=ctc_sermon8.96114.68
Series /wp-admin/edit-tags.php?taxonomy=ctc_sermon_series&post_type=ctc_sermon6.1656.08
All People /wp-admin/edit.php?post_type=ctc_person6.2357.33
Groups /wp-admin/edit-tags.php?taxonomy=ctc_person_group&post_type=ctc_person6.1649.50
Topics /wp-admin/edit-tags.php?taxonomy=ctc_sermon_topic&post_type=ctc_sermon6.1651.57
Speakers /wp-admin/edit-tags.php?taxonomy=ctc_sermon_speaker&post_type=ctc_sermon6.1649.26
Books /wp-admin/edit-tags.php?taxonomy=ctc_sermon_book&post_type=ctc_sermon6.1652.12
Church Content /wp-admin/options-general.php?page=church-theme-content6.1655.76
Tags /wp-admin/edit-tags.php?taxonomy=ctc_sermon_tag&post_type=ctc_sermon6.1653.67

Server storage [IO: ▲1.72MB] [DB: ▲0.02MB] Passed 3 tests

Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 89 new files
Database: no new tables, 7 new options
New WordPress options
db_upgraded
widget_recent-comments
ctc_version
widget_recent-posts
theysaidso_admin_options
can_compress_scripts
widget_theysaidso_widget

Browser metrics Passed 4 tests

An overview of browser requirements for Church Content - Sermons, Events and More
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,002 ▲26713.67 ▼0.711.65 ▼0.0744.22 ▲0.13
Dashboard /wp-admin2,399 ▲2114.88 ▼1.00113.85 ▲10.7539.17 ▼3.46
Posts /wp-admin/edit.php2,249 ▲1602.02 ▼0.1434.33 ▼2.0032.87 ▲2.27
Add New Post /wp-admin/post-new.php1,664 ▲15023.23 ▲5.51666.14 ▼63.4159.54 ▲0.90
Media Library /wp-admin/upload.php1,553 ▲1684.22 ▼0.0295.26 ▼18.0243.61 ▼5.30
Add New /wp-admin/post-new.php?post_type=ctc_event2,47417.80910.1846.94
Add New /wp-admin/post-new.php?post_type=ctc_sermon6,71521.83768.7842.85
Series /wp-admin/edit-tags.php?taxonomy=ctc_sermon_series&post_type=ctc_sermon1,4182.1628.5328.89
All People /wp-admin/edit.php?post_type=ctc_person1,3061.9432.1232.16
Groups /wp-admin/edit-tags.php?taxonomy=ctc_person_group&post_type=ctc_person1,4222.1427.2834.16
Topics /wp-admin/edit-tags.php?taxonomy=ctc_sermon_topic&post_type=ctc_sermon1,4192.1426.9929.71
Speakers /wp-admin/edit-tags.php?taxonomy=ctc_sermon_speaker&post_type=ctc_sermon1,4182.1928.0427.51
Books /wp-admin/edit-tags.php?taxonomy=ctc_sermon_book&post_type=ctc_sermon1,4182.1629.1928.16
Church Content /wp-admin/options-general.php?page=church-theme-content1,9083.6056.0627.28
Tags /wp-admin/edit-tags.php?taxonomy=ctc_sermon_tag&post_type=ctc_sermon1,3942.2727.5326.84

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
These items require your attention
  • The uninstall procedure has failed, leaving 7 options in the database
    • widget_theysaidso_widget
    • db_upgraded
    • can_compress_scripts
    • widget_recent-posts
    • widget_recent-comments
    • theysaidso_admin_options
    • ctc_version

Smoke tests 50% 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 50% 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
  • 2× PHP files trigger server-side errors or warnings when accessed directly:
    • > PHP Fatal error
      Uncaught Error: Interface 'RRule\\RRuleInterface' not found in wp-content/plugins/church-theme-content/includes/libraries/ct-recurrence/php-rrule/RRule.php:92
    • > PHP Fatal error
      Uncaught Error: Interface 'RRule\\RRuleInterface' not found in wp-content/plugins/church-theme-content/includes/libraries/ct-recurrence/php-rrule/RSet.php:17

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
There are user-side issues you should fix
    • > GET request to /wp-admin/post-new.php?post_type=ctc_event
    • > Console-api (warning) in unknown
    http://maps.googleapis.com/maps/api/js?key= 208:51 "Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading"

Optimizations

Plugin configuration 93% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that require attention:
  • Tags: Please delete some tags, you are using 11 tag instead of maximum 10
The official readme.txt is a good inspiration

church-theme-content/church-theme-content.php 92% from 13 tests

"Church Content - Sermons, Events and More" version 2.6's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
It is important to fix the following:
  • Description: Please keep the plugin description shorter than 140 characters (currently 213 characters long)

Code Analysis 97% from 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 plugin25,659 lines of code in 69 files:
LanguageFilesBlank linesComment linesLines of code
PO File135,3046,54815,692
PHP413,1485,4659,108
CSS813863441
JavaScript7258242418

PHP code 50% from 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
These items need your attention
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 107)
Cyclomatic complexity
Average complexity per logical line of code0.51
Average class complexity80.67
▷ Minimum class complexity1.00
▷ Maximum class complexity425.00
Average method complexity7.62
▷ Minimum method complexity1.00
▷ Maximum method complexity107.00
Code structure
Namespaces1
Interfaces1
Traits0
Classes11
▷ Abstract classes00.00%
▷ Concrete classes11100.00%
▷ Final classes00.00%
Methods143
▷ Static methods139.09%
▷ Public methods13292.31%
▷ Protected methods96.29%
▷ Private methods21.40%
Functions213
▷ Named functions21199.06%
▷ Anonymous functions20.94%
Constants27
▷ Global constants1970.37%
▷ Class constants829.63%
▷ Public constants8100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
There are no PNG files in this plugin