Live demo using Emmanuel Lutheran Church data · API key 18dc5c27c3e7ee647b3ff31626a10d16
data-layoutFive layouts are available. Default is table if omitted.
data-featured
Set data-featured="true" (or "1") to show ONLY events marked Featured in Planning Center.
Featured events also get a gold star indicator and accent border on cards.
Use data-featured="false" (or "0") to show only non-featured events. Absent = all events.
data-featured="1", data-featured="True", data-featured="TRUE" — all equivalent.
data-tag
Filter to events that have a specific Planning Center tag. Comma-separate multiple tag names for OR logic — e.g. data-tag="Youth,Women's Ministry" shows events tagged either tag.
data-this-weekShows only events in the next 7 days from today. Perfect for "This Week's Services" homepage sections. Works with any layout.
data-include-past
By default, events that have already ended are hidden. Set data-include-past="true"
to include them — useful for archive or recap pages. Default: false.
"1" / "0", "True" / "False", "TRUE" / "FALSE".
data-limit
Controls how many events to fetch. Default: 50. Currently capped at 50 — "ALL" is not yet a valid value.
data-columns
Controls tiles per row on the simple layout. Range: 1–8. Default: 2.
Always collapses to 1 column on screens ≤480px regardless of this value.
data-shadow
Controls the container shadow color theme. Default: blue.
data-titleOverrides the heading displayed above the widget. Any string is valid. If omitted, the widget auto-generates a heading from the filter context (e.g. "Featured Events", "Worship Services").
data-targetMount the widget into an existing element by DOM ID instead of auto-creating a container after the script tag. Useful when you need the widget inside a specific page region.
Real-world patterns combining multiple options.
data-featured="false"
The data-featured attribute now has three states: absent = all events,
"true"/"1" = featured only, "false"/"0" = non-featured only.
data-tag="tag1,tag2"Comma-separate tag names to show events matching ANY of the listed tags (OR logic). Case-insensitive. Single tag still works exactly as before.
data-hide-end-timeShow only the start time — hides the “– 10:30 AM” portion. Applies to simple, cards, and list layouts. Useful for service tiles where end times add clutter.
data-hide-if-empty
When zero events match the current parameters, the widget normally renders a "No upcoming events found" box
that takes up space on the page. With data-hide-if-empty="true", the entire container collapses
to nothing — no border, no message, no space. Works with all layouts and all filter combinations.
If no Men's Ministry events exist this week, nothing renders above — no box, no space.
data-empty-message
When nothing matches, the widget shows "No upcoming events at this time." Use
data-empty-message to say something more useful instead: point visitors at your weekly
service times, another page, or a phone number. Up to 200 characters.
data-hide-if-empty, since in that case
the widget removes itself entirely and there is no message to show.
data-show-tags
Some events carry six or eight Planning Center tags. On a card layout every one of them renders as a chip,
which pushes the title and details downward and makes the card look cluttered. data-show-tags
is a whitelist: only the tags you name stay visible.
data-show-tags match either a tag group name
or an individual tag name. Naming the group is almost always the better choice: with
data-show-tags="Campus", a campus you add next year shows up on its own, with no change to
your embed code.
data-tag. The two work together: filter with
data-tag, then tidy up the chips with data-show-tags.
data-auto-advance
It is the 28th of the month, the next event is nine days away, and the widget shows an empty box.
data-auto-advance="2" tells the widget: if the month the visitor lands on has nothing,
look ahead up to two months and show the first one that does. The month heading follows the jump, so
the widget reads "September 2026" instead of claiming to show an empty August.
data-months-ahead.
data-hide-if-empty: auto-advance runs first. The widget only
removes itself if no month inside the lookahead window has any events. If you want the widget to disappear
the moment the current month is empty, leave auto-advance off.
data-months-ahead
The rest of the widget answers "which month am I looking at". This one answers a different question:
what is coming up. data-months-ahead="4" pulls every matching event from today
out to four months into a single set and drops the month arrows entirely. Point it at a tag and you
have a thumbnail strip of everything in that series that is still ahead, which is what a church home
page usually wants above the fold.
data-months-ahead="4" covers 26 August to 26 December. Nothing that has already
finished appears, so the set shrinks through the month and refills as new events are scheduled.
Accepts 1 through 12.
data-auto-advance and data-this-week have nothing to do here: both pick a
window, and this one has already picked it. The Widget Display Builder drops them from the embed
code for you.
data-rows or data-limit. Four months of a
busy calendar is a lot of tiles. A row cap keeps the block a fixed height and shows the soonest
events, which is the point of putting it on a home page.
table and week draw a
calendar grid whose rows are the weeks of one month, so there is nowhere to put a four-month span.
They ignore the attribute rather than quietly showing you one month of it.
data-hide-if-empty="1" and the widget
removes itself from the page instead of announcing the gap.
data-visibility
Planning Center tracks two separate things about an event: where it sits in your approval
workflow (approved, pending, rejected) and whether you have published it to Church
Center. data-visibility walks down both at once. Each level shows everything the
level above it showed, plus one more class of event.
data-visibility="pending" and your team can see what is moving through approval and how it
will look once live, while the public page keeps showing only finished, published events. Never set
anything other than published on a page visitors can reach.
data-visibility="rejected" shows the whole calendar, which makes it obvious where the
event actually sits.
data-include-unpublished="true" still works as shorthand for
data-visibility="approved". If both are set, data-visibility wins.
These were requested and are being evaluated for implementation: