PHPackages                             eighteen73/simple-events-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. eighteen73/simple-events-manager

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

eighteen73/simple-events-manager
================================

Add and display events on your WordPress site.

v0.1.3(2mo ago)027[8 PRs](https://github.com/eighteen73/simple-events-manager/pulls)GPL-2.0-or-laterJavaScriptPHP &gt;=7.4CI failing

Since Feb 12Pushed 1mo agoCompare

[ Source](https://github.com/eighteen73/simple-events-manager)[ Packagist](https://packagist.org/packages/eighteen73/simple-events-manager)[ RSS](/packages/eighteen73-simple-events-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (14)Used By (0)

Simple Events Manager
=====================

[](#simple-events-manager)

**Requires:** WordPress 6.5+, PHP 7.4+ **Author:** eighteen73 Web Team **License:** GPL-2.0-or-later

Add and display events on your WordPress site.
----------------------------------------------

[](#add-and-display-events-on-your-wordpress-site)

Summary
-------

[](#summary)

Simple Events Manager adds an **Events** section to your WordPress site so you can create and manage events without any coding. You get a dedicated Events area in the admin (under the calendar icon) where you can add, edit, and organise events.

Each event can have a title, description, featured image, date and time, location, and optional links (for example “More details” or “Book now”). You can organise events using **Event Categories**, so you can filter or group them (e.g. by type or audience).

Events can be **one-off** or **recurring**. You can set an event to repeat daily, weekly, monthly, or yearly (with an optional end date), or define a custom list of dates. Repeating events appear once per occurrence in event lists and on the calendar, so visitors see each date separately.

To show events on the front of your site, use the block editor. The plugin provides blocks to display a **calendar** of events, a **list** of events (with date and location), and to show the **date** or **location** on individual event pages. No shortcodes or theme code are required—everything is done with blocks.

---

Features
--------

[](#features)

### Event post type

[](#event-post-type)

- **Supports:** title, editor, thumbnail, excerpt, revisions, custom-fields.
- **Post meta:** `event_location`, `event_start_date`, `event_start_time`, `event_end_date`, `event_end_time`, `event_recurrence`, `event_recurrence_end`, `event_custom_dates` (for custom recurrence), `event_details` (URL), `event_booking` (URL).
- REST-enabled; URL slug `events`; no archive by default.

### Event Category taxonomy

[](#event-category-taxonomy)

- Hierarchical taxonomy linked to events; slug `event-category`.
- Shown in REST API and as an admin column on the Events list.

### Recurrence

[](#recurrence)

- **Types:** single, daily, weekly, monthly, yearly, custom (custom = main date plus `event_custom_dates` entries).
- For non-single events, the plugin creates child “occurrence” posts so the Query Loop can show one row per occurrence. These children are hidden in the admin; editing an occurrence redirects to the parent event.

### Blocks

[](#blocks)

- **Events Calendar** (`simple-events-manager/events-calendar`) — Calendar view (FullCalendar). Optional filter by event category.
- **Event Date** (`simple-events-manager/event-date`) — Displays start and end date (and optional time). Attributes: `format`, `customFormat`, `showEndDate`, `showTime`, `showEndTime`, `isLink`, `iconColor`.
- **Event Location** (`simple-events-manager/event-location`) — Displays the event location. Attributes: `prefix`, `suffix`, `iconColor`.
- **Event All Dates** (`simple-events-manager/event-all-dates`) — Lists all dates for the current event (e.g. recurring instances). Attributes: `format`, `customFormat`, `maxItems`, `showEndDate`, `isLink`.

### Query Loop variation

[](#query-loop-variation)

- **Events** — A variation of the core Query Loop block that lists events by post type `event`, ordered by start date, with one result per occurrence (uses occurrence children on the front end).

---

Installation
------------

[](#installation)

1. Install dependencies: run `composer install` and `npm install` (npm postinstall runs `composer install -o`).
2. Build blocks: run `npm run build`. Blocks are registered from `build/blocks`; the build step is required.
3. Activate the plugin in WordPress. Activation flushes rewrite rules.

---

Developer filters
-----------------

[](#developer-filters)

You can customise the Event post type and Event Category taxonomy using these filters:

FilterPurpose`simple_events_manager_event_labels`Labels array for the Event post type (passed to `register_post_type`).`simple_events_manager_event_args`Arguments array for the Event post type (labels, public, rewrite, supports, etc.).`simple_events_manager_event_category_labels`Labels array for the Event Category taxonomy.`simple_events_manager_event_category_args`Arguments array for the Event Category taxonomy.Other hooks (e.g. `rest_event_collection_params`, `rest_event_query`, `query_loop_block_query_vars`, occurrence redirect/link) are used internally; avoid relying on them in your own code.

---

Development
-----------

[](#development)

- **npm:** `npm run start` (development build with watch), `npm run build`, `npm run lint`, `npm run format`, `npm run pot` (generate i18n template).
- **PHP:** Namespace `Eighteen73\SimpleEventsManager`, PSR-4 autoload from `includes/classes/`. Run `composer run lint` and `composer run format` (PHPCS).
- **Constants:** `SIMPLE_EVENTS_MANAGER_URL`, `SIMPLE_EVENTS_MANAGER_PATH`, `SIMPLE_EVENTS_MANAGER_INC`.

---

Occurrence behaviour
--------------------

[](#occurrence-behaviour)

Recurring events get auto-generated “occurrence” child posts so that the Events Query Loop (and calendar) can show one entry per occurrence. These children are not shown in the WordPress admin Events list. If an occurrence edit screen is opened (e.g. via a direct link), the user is redirected to the parent event so all recurrence is edited in one place.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance89

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity31

Early-stage or recently created project

 Bus Factor1

Top contributor holds 74.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

3

Last Release

75d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/892c0716ab606189211e31c70047104e48067d22fc385770b193d89e8a056164?d=identicon)[brettsmason](/maintainers/brettsmason)

---

Top Contributors

[![brettsmason](https://avatars.githubusercontent.com/u/73229?v=4)](https://github.com/brettsmason "brettsmason (46 commits)")[![DanielHudson2](https://avatars.githubusercontent.com/u/35522603?v=4)](https://github.com/DanielHudson2 "DanielHudson2 (16 commits)")

---

Tags

eventswordpress-plugin

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/eighteen73-simple-events-manager/health.svg)

```
[![Health](https://phpackages.com/badges/eighteen73-simple-events-manager/health.svg)](https://phpackages.com/packages/eighteen73-simple-events-manager)
```

###  Alternatives

[snicco/better-wp-hooks

1118.6k2](/packages/snicco-better-wp-hooks)[thalidzhokov/exchange-rates-cbrf

ExchangeRatesCBRF Class to get exchange rates of the Central Bank of Russia

102.7k](/packages/thalidzhokov-exchange-rates-cbrf)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
