Integration for ChurchSuite

Integration for ChurchSuite is a plugin to enable display of data from ChurchSuite JSON feeds

Author:Alwyn Barry (profile at wordpress.org)
WordPress version required:6.4
WordPress version tested:6.7.2
Plugin version:1.0.3
Added to WordPress repository:17-03-2025
Last updated:25-03-2025
Rating, %:0
Rated by:0
Plugin URI:https://github.com/AlwynBarry/cs-integration
Total downloads:105
plugin download
Click to start download

Integration for ChurchSuite (AKA CS Integration) allows you to display certain
data from ChurchSuite on your WordPress website without resorting to embedding
iframes. This plugin provides shortcodes that are easy to drop into any page
or post. Each shortcode will, behind the scenes, request data from your
ChurchSuite feed, and will display the data returned in a similar way to the
usual ChurchSuite iframes, but natively to your website. Many aspects of the
display can be modified in your theme to make the display match your website
theme. The shortcodes allow you to use a range of query parameters so that you
can display just the data you want for each part of your website.

Current features include:

  • Shortcode to return events as ‘cards’ with the event image and details
  • Shortcode to return events in a ‘list’ group by date
  • Shortcode to return a full month calendar, for the current month or a date
  • Shortcode to return groups as ‘cards’ with the group image and details
  • All API requests are cached with a 4 hour cache to ensure fast performance

A little Technical information

For the technical among you: This shortcode works on the ‘server side’,
building the response which is delivered to your browser from churchsuite.

Difference between this plugin and cs-js-integration

We also provide the cs-js-integration plugin. That plugin uses the more
recent v3 ChurchSuite API which does permit such flexibility because it
requires you to create a ChurchSuite ’embed configuration’ to pass in the
shortcode call. It also does all the work on the ‘client side’ so that
the client browser holds the cached data and the client browser creates all
the html for output. That plugin use Javascript to create the response
whereas this plugin uses php. This server-side implementation can be faster
for many repeated requests, and is less speed dependent on the client
provision. However the client-side implementation can be faster for an
individual user. The cs-js-integration plugin uses Alpine.js to output the
HTML, which means an end user could change the output by changing the HTML
files without having to get into the php of the plugin. However, the
Alpine.js code isn’t straightforward and so this is likely to be of little
advantage. Really, it’s simply ‘horses for courses’ – you have the choice
of which to use!

Support

If you have a problem or a feature request, please send a message to the author.

Demo

Currently there is no demo site, but you can view examples on a church website:

Contributions

This plugin relies on information provided by ChurchSuite using their ’embed’
JSON feed. Details of this JSON feed can be found here:

https://github.com/ChurchSuite/churchsuite-api/blob/master/modules/embed.md

Usage

  • For the Event Cards shortcode, place the shortcode into a page or post or
    into a shortcode block. The shortcode will be:

    [cs-event-cards church_name="mychurch" num_results="3"]
    

    where mychurch is the name of your church and 3 is changed to the
    number of future featured events you need in a page or post. Use the
    parameter featured="1" to obtain only featured events. Because your
    calendar will have many events, make sure you include num_results
    to get the number of events you want.

    If you want events on a specific day, use the parameters date_start
    and date_end. If you want events from a particular Calendar category,
    use category=1 where 1 is replaced by the category number for the
    Calendar category you want.

  • For the Event List shortcode, place the shortcode into a page or post
    or into a shortcode block. The shortcode will be:

    [cs-event-list church_name="mychurch" num_results="10"]
    

    The comments above about parameters also apply to this shortcode. By
    default only a maximum of 5 days events are returned, but this can be
    overridden by adding the date_end parameter.

  • For the Calendar shortcode place the shortcode into a page or post or into a
    shortcode block. The shortcode will look like:

    [cs-calendar church_name="mychurch"]
    

    (where mychurch is the name of your church used to get into your churchsuite).
    The only parameter that might be used with this apart from church_name is
    date_from which will can be any date which will identify the month to be
    displayed – so 2025-01-15 and 2025-01-30 will both display the month
    January in 2025.

  • For the Smallgroups shortcode, place the shortcode into a page or post or into
    a shortcode block. The shortcode will be:

    [cs-smallgroups church_name="mychurch"]
    

    (where mychurch is the name of your church. The more limited set of
    parameters provided by ChurchSuite for small groups can all be used.

See https://github.com/ChurchSuite/churchsuite-api/blob/master/modules/embed.md=calendar-json-feed
for a full list of parameters that can be used.

License

The plugin itself is released under the GNU General Public License. A copy of
this license can be found at the license homepage or in the cs-integration.php
file in the top comment.


Screenshots
FAQ
ChangeLog