MadeIT Events
MadeIT Events shows your events as a list and a calendar for free. The Pro add-on adds the registrations: a form on every event page, a seat limit with a waiting list, emails to participants and reminders before the event.
Download the free plugin ↓ MadeIT Events Pro →
Installation and your first event
MadeIT Events works with WordPress 6.6+ and PHP 8.0+. It does not need WooCommerce. Install the free plugin from WordPress.org (Plugins → Add New) or upload the ZIP from the downloads page.
- Activate the plugin. A page called Events with the
[madeit_events]shortcode is created, and an "Events" content type appears in the MadeIT Events menu. - Go to MadeIT Events → Add event, enter a title and description, then set the start (and optionally the end), the address and the cost.
- Publish the event. It shows up in the list on the Events page and has a page of its own.
If the Events page was not created (for example a page with the shortcode already existed), choose it in MadeIT Events → Settings → Scope, in the "Events page" field.
The event editor Free
The "Event details" box under the event content holds everything visitors see.
| Field | What it does |
|---|---|
| Start | Date and time the event begins, picked in a calendar. After this moment the event moves to the "Past" tab. |
| End | Date and time the event ends. Empty means the event lasts an hour. |
| Address of the place | Shown on the event page and in the list. Add the name of the place in the "Venues" box next to it. |
| Cost of attending | An amount in the currency from the settings. Empty or 0 means a free event (green label). Paid events get a yellow label with the amount. |
Categories, venues and audience groups
Next to the editor there are three kinds of labels: <b>Categories</b> (for example Workshops, Concerts), <b>Venues</b> (for example Main Hall) and <b>Audience</b> (for example Children, Adults). They work like post categories: add them in the editor or in the MadeIT Events menu. Visitors use them to filter the list and the calendar.
Featured image
The featured image of an event is used as the thumbnail in the list, on the pop-over card in the calendar and at the top of the event page. Without an image the calendar shows a coloured box with the day number.
The events list Free
The list groups upcoming events by month. Every row shows the date, times, title, place, cost and categories, and a button to open the event.
- Upcoming / Past tabs sit above the list. Past events are marked as finished.
- Search looks in titles and descriptions. An active filter appears as a chip that can be removed with one click, or you can clear everything at once.
- Filters (the "Filters" menu): cost (free / paid), category, venue and audience group.
- A result counter ("6 events found") and pagination when there are more events than fit on a page.
The month calendar Free
The "List / Calendar" switch above the view changes how events are shown. The calendar displays a month starting on Monday, with today highlighted.
- The arrows and the "Today" button move between months.
- Hovering an event (or focusing it with the keyboard) opens a pop-over card: image, date, times, title, the start of the description, cost, categories and a button.
- When a day has too many events you see "+N more". Clicking it opens the list for that day.
- Paid and free events have different colours, and past events are greyed out.
The event page Free
Every event has its own address (<code>/event/name</code>) and a two-column layout: the description on the left and a "Details" box on the right with the date, venue, cost and audience group. The top shows a header with the date, weekday, times and labels. At the bottom there are links to the previous and the next event.
The addresses (<code>event</code>, <code>event-category</code>, <code>event-venue</code>, <code>event-audience</code>) behave like ordinary WordPress posts. After activating the plugin, refresh the permalinks (Settings → Permalinks) if an address returns a 404.
The [madeit_events] shortcode Free
Place the shortcode on any page or in a "Shortcode" block. Without parameters it shows the default view from the settings.
| Parameter | Values | Description |
|---|---|---|
view | list, calendar | The starting view. |
category, venue, audience | slug | Limits the view to one category, venue or audience group. |
per_page | number 1–60 | How many events per page of the list. |
filters | no | Hides the search and filters, for example for a short teaser on the home page. |
width | theme, wide, xwide | The width of the view, regardless of the global setting. |
Example: <code>[madeit_events view="list" category="workshops" per_page="3" filters="no"]</code> shows the next three workshops without filters.
Plugin settings Free
MadeIT Events → Settings → Scope.
| Setting | Description |
|---|---|
| Default view | List or calendar. Used when the shortcode has no view parameter. |
| Events per page of the list | From 1 to 60. The default is 12. |
| Events page | The page with the shortcode. "Back to the list" links point to it. |
| Width of the list and calendar | The width of the theme content, wide (up to 1200 px) or extra wide (up to 1500 px). Block themes usually narrow the content, and the calendar reads better wider. |
| Currency symbol | Shown after the price of paid events. The default is zł or €, depending on the site language. |
Registrations PRO
Once the add-on is active, the event editor gets a <strong>Registration</strong> section and the event page gets a registration form.
| Event setting | Description |
|---|---|
| Number of seats | The limit of participants. Empty means no limit. |
| Max seats in one registration | How many people one form can register (1–50). |
| Registration is on | Turning it off hides the form and shows a "registration is closed" message. |
| Waiting list | When the seats run out, registrations go to a list and are promoted automatically. |
| Manual approval | Registrations wait for your confirmation (status "Waiting for approval"). |
| Registration until | The deadline for sign-ups, in the dates section. Empty: until the event starts. |
| Payment details | For example a bank account or "pay on site". It goes into the confirmation email. |
The form
A participant enters a name, an email, optionally a phone number, the number of seats and notes, and ticks the consent to data processing. The form is protected by a honeypot field, a form token and a per-address rate limit. The same email address cannot register twice for the same event.
Waiting list and promotion
A registration that does not fit in the limit goes to the waiting list. When someone cancels or you raise the limit, people on the list are promoted in the order they signed up, as long as they fit in the free seats, and get an email. Promotion stops at the first registration that does not fit, so nobody jumps the queue.
Seat meters
The list, the calendar and the event page show "Seats taken 12/30" with a progress bar. When seats run out the button becomes "Waiting list", and when registration is closed a message is shown instead.
The registrations screen PRO
MadeIT Events → Registrations shows all sign-ups in one list with three counters: all, awaiting approval, and waiting list / unpaid.
- Search by name and email, plus filters by status and event, paginated by 20.
- Details of a registration: contact, event, date, seats, status, payment, registration date and the participant's notes.
- CSV export of the whole list or of one event (the button is also in the registrations box of the event editor). The file opens in Excel, and cells starting with formula characters are protected.
Registration statuses
| Status | Meaning |
|---|---|
| Waiting for approval | The event has manual approval. The participant got an email that the registration was received. |
| Confirmed | The seat is reserved. The participant got a confirmation. |
| Waiting list | No seats left. Waiting for promotion. |
| Attended | You mark it after the event. |
| Cancelled | The participant cancelled with the link from the email, or you cancelled the registration. The seats go back to the pool. |
Payments
Payments are not processed in the system. For paid events a registration has the payment status "Unpaid", which you change by hand to "Paid" or "Refunded". Marking it as paid sends the participant a confirmation.
Actions in the details
Confirm the registration, mark attendance, move to the waiting list, cancel, mark the payment, and "Resend the email".
Emails and reminders PRO
The <strong>Notifications</strong> tab turns emails to participants and to the organiser on or off, sets the organiser address (empty: the site administrator) and the reminders. Participants with the status "Confirmed" get a reminder a set number of hours before the event (24 by default). Sending runs in the background every hour through WP-Cron, so on a low-traffic site it is worth running a system cron.
| Message | When it is sent |
|---|---|
| Registration received | After signing up for an event with manual approval. |
| Registration confirmed | After signing up, confirming or promotion from the waiting list. It contains the date, place, cost, payment details and a cancel link. |
| Waiting list | When a registration goes to the list. |
| Registration cancelled | After a cancellation. |
| Payment confirmed | After a registration is marked as paid. |
| Reminder | Before the event, once per participant. |
| To the organiser | For every new registration. |
Placeholders
In subjects and bodies you can use: <code>{name}</code>, <code>{email}</code>, <code>{event}</code>, <code>{date}</code>, <code>{place}</code>, <code>{seats}</code>, <code>{price}</code>, <code>{payment_info}</code>, <code>{status}</code>, <code>{event_url}</code>, <code>{cancel_url}</code> and <code>{admin_url}</code>.
Calendar files PRO
- The event page has + Google Calendar and + iCalendar (.ics) links.
- Above the list an Add to calendar menu offers a feed of all upcoming events (address
/?madeit_events_ics=all). Visitors subscribe to it in Apple Calendar or Outlook, and new events appear by themselves. - The files contain the title, the time in UTC, the place, the description and a link to the event.
Look and wording PRO
The <strong>Appearance</strong> tab sets the accent colour of the list, the calendar and the form with a live preview. The <strong>Texts</strong> tab lets you change the label of a free event, the seats label, the buttons, the form messages and the wording of all emails. An empty field restores the default text, and texts you do not change keep using the plugin's translations.
Pro license and updates PRO
- Download the add-on from your customer account (Licenses → Download the latest version) and upload it in Plugins → Add New → Upload Plugin.
- Activate the add-on. It needs the MadeIT Events plugin to be active.
- Open MadeIT Events → License, paste the 32-character key and click "Save and activate".
New versions appear under Dashboard → Updates for 12 months. After the license expires the add-on keeps working, just without new versions. The key covers one site, which you can detach in your customer account.
Troubleshooting
- Event pages return 404: save Settings → Permalinks again.
- There is no Registrations menu: check that the free plugin is active and that the Pro add-on is activated.
- Emails do not arrive: set up SMTP and check that WP-Cron works.
- The form says "the form has expired": the page comes from a cache. Turn off caching for event pages or refresh the page.
- The view is too wide or too narrow: change the width in the settings or the
widthshortcode parameter.
Frequently asked questions
Do I need the free plugin as well?
Yes. MadeIT Events Pro is an add-on and needs the free MadeIT Events plugin from WordPress.org to be installed and active.
Is anything in the free plugin locked until I buy Pro?
No. The free plugin is complete: the list, the calendar, filters, categories, venues and the event page. Pro adds registrations, emails, exports and calendar files.
Can participants pay online?
No. Payments are settled outside the system, for example by bank transfer or on site. You enter the payment details in the event, they go into the confirmation email, and you mark each registration as paid.
How does the waiting list work?
When the seats run out, new sign-ups go to the waiting list. When a registration is cancelled or you add seats, people on the list are promoted in order and get an email.
Can I approve sign-ups manually?
Yes. Turn on manual approval for an event and sign-ups wait with the status "Waiting for approval" until you confirm them.
What happens to registrations if I deactivate Pro?
Nothing is lost. The registrations stay in the database and come back when you reactivate Pro. The registration forms disappear from the event pages meanwhile.
What happens when the license expires?
The installed version keeps working without limits. Only new versions and support are paused until you renew.
How many sites can I use one license on?
One license covers one site. You can detach the site in your customer account and activate the license somewhere else.
Changelog
MadeIT Events
1.0.2 2026-10-19
- Readme: the contributor is now the WordPress.org user madeitpl. No functional changes.
1.0.1 2026-10-19
- The publisher is now called MadeIT Labs (plugin header, texts and translations). No functional changes.
1.0.0 2026-10-19
- First public release on WordPress.org. English is now the base language, with a Polish translation. The event URLs use English slugs (`event`, `event-category`, `event-venue`, `event-audience`).
- The free plugin no longer needs WooCommerce and no longer contains licence or update code: updates come from WordPress.org. Registrations (seat limit, waiting list, statuses and payments, emails and reminders, CSV export) and the calendar files moved to the separate MadeIT Events Pro add-on.
MadeIT Events Pro
1.0.2 2026-10-21
- Security: update packages are checked against the SHA-256 checksum published by MadeIT Labs and rejected when it does not match.
- Security: the connection to MadeIT Labs and the update download must use HTTPS (local development hosts excepted), and the download must come from the MadeIT Labs host.
1.0.1 2026-10-19
- The publisher is now called MadeIT Labs (plugin header, texts and translations). No functional changes.
1.0.0 2026-10-19
- First release: registrations with a seat limit and a waiting list, manual approval, payment statuses, email notifications and reminders, a registrations screen with CSV export, and calendar files (Google Calendar, iCalendar) for MadeIT Events. Licence and updates from WCO Labs.
Support
The free plugin is supported on its WordPress.org support forum. With an active Pro license you can open a support ticket in your customer account.
Go to your account →