A wedding website with the countdown, the story and the RSVP built in
Sunshine is a free block theme for one couple’s wedding: your names and the date in a terracotta circle over your photograph, a live countdown, the love story, a gallery, the day’s timings, hotels for guests who travel and an RSVP form that needs no plugin — with eight colour palettes and full site editing throughout.

Two versions of Sunshine
The same design, built two ways. Both are free.
Recommended for new sites
Block theme
This download. Everything is edited in WordPress’s own Site Editor, with no plugins: the sections are patterns, the wedding’s date lives in one setting, and the countdown, dark mode and the RSVP, contact and newsletter forms are built in.
For sites built with Elementor
Elementor edition
The same design built for Elementor, with its own widgets for the hero, the countdown, the love story, the gallery, the programme and the RSVP band. It needs the free Elementor plugin and the Sunshine Companion plugin, which carries those widgets, and its forms are Contact Form 7 forms. The source is free on GitHub.
Your story, in your words
A round portrait of each of you with a few lines, and between them a cream timeline of how it happened: the first meeting, the proposal, the rest. Every moment is a group of blocks, so you add one by duplicating another.

A gallery that opens full size
Photographs three to a row in widths that alternate, as in the design, each opening in WordPress’s own lightbox. It is a core Gallery block: add, remove and reorder photographs as you would anywhere else.

The day, hour by hour
The ceremony, dinner and dancing on three cards, each a photograph framing the time, what happens and a line for guests. Add a card for a tea ceremony or a brunch the next morning by duplicating one.

An RSVP that needs no plugin
Name, email, whether they can come, how many, dietary needs and a song request. Replies reach your inbox, or with one filter a guest-list service. It is a reply, not a booking: nothing is paid or confirmed on the site.

Somewhere for guests to stay
An Accommodation page with photographs, a note for guests who travel and three suggested hotels on cream cards — how far each is from the venue, a line about it and the rooms held — and a map of the venue with its address on every page.

What you get
Eight palettes, checked before release
Terracotta, the template’s own, then Blush, Sage, Dusk blue, Lavender and Champagne, and two dark palettes, Evening and Garden night. The drawn flowers and leaves take each palette’s colours, and every palette is measured against WCAG AA before the theme is built; a palette that fails is not written.

Dark mode the guest controls
The switch in the header is the visitor’s, separate from the palette you chose. It follows the reader’s system setting until they decide for themselves, for guests checking the timings on a phone late at night.

It has a blog, too
The save-the-date, travel notes, the traditions behind the day. Archives, single posts with an author box, categories, tags, search and a 404 are all designed, with a sidebar that carries search, categories, recent posts, tags, photographs from the album and a newsletter sign-up.

Questions
No. The RSVP, contact and newsletter forms, the countdown and dark mode are part of the theme, and so are the starter pages. WooCommerce is supported if you add one, for a gift list say, and is not required.
To the site’s admin email address, sent with WordPress’s own wp_mail(), with the guest’s answers in the message and their address as the reply-to. If your host cannot send mail, any SMTP plugin fixes it. To collect replies somewhere else — a spreadsheet, a guest-list service, a webhook — the sunshine_form_handlers filter takes them over and Sunshine sends nothing of its own.
Yes, with the sunshine_form_fields filter: add a question, relabel one or remove it. How many guests one reply may bring comes from sunshine_rsvp_party_sizes. A guest who answers that they cannot come is not asked how many are coming.
No. It is a reply: it reserves, confirms and charges nothing, and the site says so. The same goes for the hotels on the Accommodation page, which guests book directly.
Appearance → Customize → Wedding: the couple, the venue’s address and the ceremony’s date and time with the venue’s UTC offset, for example 2027-12-11T16:30+07:00. Every countdown follows it. The dates written on the pages are ordinary text you edit in place.
The gallery is WordPress’s own Gallery block: select it and choose Add. Photographs sit three to a row in widths that alternate, and each opens full size in the core lightbox, which you can switch off per photograph.
No. The six starter pages are built only on a site that has no pages of its own yet, and only once. Activating Sunshine over an existing site leaves your pages alone.
No. The names, the story and the wedding on the demo are invented; the photographs are from one Pexels shoot, so the same two models appear throughout. Replace them with your own in the editor.
The block theme is edited in WordPress’s own Site Editor and needs no plugins. The Elementor edition is the same design built for the Elementor page builder; it needs the free Elementor plugin and the Sunshine Companion plugin, which carries its widgets, and uses Contact Form 7 for its forms. It is available on GitHub. For a new site we recommend the block theme.
Yes. Every string is translatable and languages/sunshine.pot is included.
Yes, twice a day, because it is distributed outside the WordPress.org theme directory. It sends the theme, WordPress and PHP versions, the locale, whether the site is a multisite, and an identifier derived from the site’s address with the site’s own secret key, so it cannot be turned back into the address. No personal data and no site name. The sunshine_check_for_updates filter switches it off.
The details
| Requires | WordPress 6.6 or newer |
|---|---|
| PHP | 7.4 or newer |
| Tested up to | WordPress 7.1 |
| Licence | GNU General Public License v2 or later |
| Patterns | 17 to insert (12 sections, 5 page layouts), plus 13 the templates and parts use |
| Templates | 10, plus 3 template parts |
| Starter pages | 6, built on activation, with a menu |
| Styles | 8 colour palettes × 5 type pairings |
| Wedding settings | The couple, the venue and the ceremony’s date and time in Appearance → Customize → Wedding |
| Forms | RSVP, contact and newsletter, no plugin; filter sunshine_form_handlers |
| Fonts | Petit Formal Script, Mulish and Cormorant Garamond, self-hosted |
| Icons and ornaments | Tabler Icons (MIT) and drawn botanical ornaments, both in the palette’s colours |
| Photographs | Pexels, from one wedding shoot, credited in readme.txt |
| Form plugins | Contact Form 7, WPForms, Gravity Forms, Fluent Forms, Forminator, Ninja Forms |
| Build step | None — no npm, no SCSS |
