PHPackages                             soderlind/icalendar-ninja-forms - 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. soderlind/icalendar-ninja-forms

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

soderlind/icalendar-ninja-forms
===============================

iCalendar for Ninja Forms

2.2.0(2y ago)42.7k↑50%[3 issues](https://github.com/soderlind/icalendar-ninja-forms/issues)[1 PRs](https://github.com/soderlind/icalendar-ninja-forms/pulls)GPL-2.0-onlyPHP

Since Apr 8Pushed 1y ago1 watchersCompare

[ Source](https://github.com/soderlind/icalendar-ninja-forms)[ Packagist](https://packagist.org/packages/soderlind/icalendar-ninja-forms)[ Docs](https://github.com/soderlind/icalendar-ninja-forms)[ Fund](https://paypal.me/PerSoderlind)[ RSS](/packages/soderlind-icalendar-ninja-forms/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (20)Used By (0)

iCalendar for Ninja Forms
=========================

[](#icalendar-for-ninja-forms)

[![Latest Stable Version](https://camo.githubusercontent.com/11047d61a671d3ae7e4b3d04c4e1136bdaa645ca1e927d28580abd714bfca86c/68747470733a2f2f706f7365722e707567782e6f72672f736f6465726c696e642f6963616c656e6461722d6e696e6a612d666f726d732f76)](//packagist.org/packages/soderlind/icalendar-ninja-forms)

Description
-----------

[](#description)

Add an iCalendar to your Ninja Forms.

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

[](#installation)

Prerequisite:

- PHP 7.4-8.x
- [Ninja Forms](https://wordpress.org/plugins/ninja-forms/)

You know the drill:

1. [Download the plugin](https://github.com/soderlind/icalendar-ninja-form/archive/refs/heads/main.zip)
2. Upload the plugin via `Plugins->Add New->Upload`
3. Activate the plugin.
4. Use Ninja Forms to add the iCalendar.

Use
---

[](#use)

### Per event form, add the action:

[](#per-event-form-add-the-action)

[![](.wordpress-org/add-icalendar.gif)](.wordpress-org/add-icalendar.gif)

### Add event date etc:

[](#add-event-date-etc)

[![](.wordpress-org/icalendar-event.png)](.wordpress-org/icalendar-event.png)

### Add link to Success Message, Email Confirmation etc:

[](#add-link-to-success-message-email-confirmation-etc)

- **Link** (`{ical:link}`), adds a `Add the event to your calendar` link. The "Add the event to your calendar" text can be changed in iCalendar settings.
- **URL** (`{ical:url}`), adds `http[s]://yoursite.tld/event-xyz.ics`

[![](.wordpress-org/add-merge-tag.gif)](.wordpress-org/add-merge-tag.gif)

### Conditional Logic

[](#conditional-logic)

Require [Ninja Forms Conditional Logic](https://ninjaforms.com/extensions/conditional-logic/) to be enabled.

Per condition

- add an iCalendar
- add a response.

See example below

[![](.wordpress-org/conditional-logic-icalendar.gif)](.wordpress-org/conditional-logic-icalendar.gif)

### Email with iCalendar link

[](#email-with-icalendar-link)

[![](.wordpress-org/email.png)](.wordpress-org/email.png)

### Example calendar.ics:

[](#example-calendarics)

```
BEGIN:VCALENDAR
PRODID:-//eluceo/ical//2.0/EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
UID:1f09c1aca9cca3bcee4b588ab0bc624d
DTSTAMP:20240322T082413Z
SUMMARY:Launch Party!
DESCRIPTION:Welcome to our Launch Party!
URL:http://domain.local/party/
DTSTART:20240606T090000Z
DTEND:20240606T150000Z
LOCATION:Vippa\, Oslo
GEO:59.901864;10.741167
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=Vippa\, Oslo;X-APPLE-RADIUS
 =49;X-TITLE=:geo:59.901864,10.741167
ORGANIZER:mailto:party@domain.local
END:VEVENT
END:VCALENDAR

```

[![](.wordpress-org/calendar-example.png)](.wordpress-org/calendar-example.png)

See also
--------

[](#see-also)

I've created a [date range](https://github.com/soderlind/date-range-ninja-forms) add-on for Ninja Forms.

Changelog
---------

[](#changelog)

### 2.2.0

[](#220)

- Create the calendar using [Eluceo\\iCal](https://github.com/markuspoerschke/iCal)
    - multiline message
    - link to event page
    - add event location, inclusive latitude and longitude
    - attach calendar to email confirmation
- Update translation file.
    - Add Norwegian translation
- Update dependencies
- Housekeeping

### 2.1.1

[](#211)

- PHPStan it.

### 2.1.0

[](#210)

- Enable conditional logic for the iCalendar.

### 2.0.0

[](#200)

- Note, this is a breaking change. You can now select a date range and a time range.

### 1.3.4

[](#134)

- Remove incompatible attribute.

### 1.3.3

[](#133)

- Rename method in `include/js/actions.js`

### 1.3.2

[](#132)

- Set default title in vcalendar
- Mark mandatory settings

### 1.3.0

[](#130)

- Refactor away from anonymous class.

### 1.2.0

[](#120)

- Refactor, move create VCALENDAR to card() in class Invitation.

### 1.1.4

[](#114)

- Update translation file.

### 1.1.3

[](#113)

- Rename methods in JavaScript
- Lint JavaScript using [Rome](https://rome.tools/#installation-and-usage)

### 1.1.2

[](#112)

- Remove wp\_localize\_script
- Rename style object

### 1.1.1

[](#111)

- Add "now" as default date and time.

### 1.1.0

[](#110)

- Add date and time picker

### 1.0.0

[](#100)

- Initial release.

Credits
-------

[](#credits)

iCalendar for Ninja Forms uses the following third-party resources:

- [Eluceo\\iCal](https://github.com/markuspoerschke/iCal) by Markus Poerschke, licensed under the MIT License.
- [Openstreetmap](https://www.openstreetmap.org) for the calendar location.
- [Enhanced WP Mail Attachments](https://gist.github.com/thomasfw/5df1a041fd8f9c939ef9d88d887ce023/) by Thomas F. Watson.

Copyright and License
---------------------

[](#copyright-and-license)

iCalendar for Ninja Forms is copyright 2021 Per Søderlind

iCalendar for Ninja Forms is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

iCalendar for Ninja Forms is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Extension. If not, see .

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance12

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 98.9% 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 ~67 days

Recently: every ~171 days

Total

17

Last Release

788d ago

Major Versions

1.3.4 → 2.0.02022-05-06

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1649452?v=4)[Per Søderlind](/maintainers/soderlind)[@soderlind](https://github.com/soderlind)

---

Top Contributors

[![soderlind](https://avatars.githubusercontent.com/u/1649452?v=4)](https://github.com/soderlind "soderlind (90 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

### Embed Badge

![Health badge](/badges/soderlind-icalendar-ninja-forms/health.svg)

```
[![Health](https://phpackages.com/badges/soderlind-icalendar-ninja-forms/health.svg)](https://phpackages.com/packages/soderlind-icalendar-ninja-forms)
```

###  Alternatives

[sbodak/magento2-checkout-custom-form

Add a custom form to Magento 2 checkout on the shipping step.

993.5k](/packages/sbodak-magento2-checkout-custom-form)

PHPackages © 2026

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