=== Monbillet Embed ===
Stable tag: 1.4
Requires PHP: 8.1
Tested up to: 6.8
Requires at least: 4.6
Contributors: monbilletch
License: MIT
Tags: monbillet, monbillet.ch

Embed events and event-groups data directly in your WordPress using a shortcode.

== Description ==

This plugin lets you embed events and event-groups data directly in your WordPress.

== Installation ==

## Setup

- Add your API token in the settings (please contact monbillet.ch to obtain a token)

## Usage

In Gutenberg, use either the "HTML" or the "Shortcode" block. In the Classic Editor, you can simply add the shortcode to your content.

### Template Shortcode

Required attributes:
- `entity-type`: `events`, `event`, `event-groups` or `event-group`
- `entity-id`: number (mandatory if `entity-type`= `event` or `event-group`)

Optional attributes:
- `with-details`: `true` (default: no event details are retrieved, see [Objects API](https://monbillet.ch/api/v1/doc#api-objects) to find out which fields are retrieved.  )

The `data` variable contains the content from the API (without the first level field `event`, `events`, `event-groups`).
See the [API doc](https://monbillet.ch/api/v1/doc), to get a list of supported properties.

Example:

`
[monbillet-embed-template entity-type="event-groups"]
<section>
    {% for eventGroup in data %}
        <ul>
            <li>{{ eventGroup.title }}</li>
            <ul>
                {% for event in eventGroup.events %}
                    <li class="event-title">{{ event.title }}</li>
                {% endfor %}
            </ul>
        </ul>
    {% endfor %}
</section>
[/monbillet-embed-template]
`

# Styling the shortcode

You are in full control here. Add CSS either in your theme or with an "HTML" block. You can as well add a `<style></style>` markup inside the "Shortcode" block.

# Sandboxed Twig

By default, Twig is restricted to some functions. You can disable this feature in the plugin settings.

Tags allowed: `apply`, `if`, `for`, `set`

Filters allowed: `abs`, `batch`, `capitalize`, `column`, `convert_encoding`, `data_uri`, `date`, `date_modify`, `default`, `escape`, `filter`, `find`, `first`, `format`, `format_date`, `format_datetime`, `format_time`, `join`, `json_encode`, `keys`, `last`, `length`, `lower`, `map`, `merge`, `plural`, `reduce`, `replace`, `reverse`, `round`, `shuffle`, `singular`, `slice`, `slug`, `sort`, `spaceless`, `split`, `striptags`, `trim`, `title`, `u`, `upper`, `url_encode`

Functions allowed: `html_classes`, `cycle`, `date`, `max`, `min`, `range`, `random`, `html_cva`

== Changelog ==

= 1.4 - February 5, 2026 =

- Remove support for attribute `show-past-events`

= 1.3 - August 13, 2025 =

- Change minimal version of PHP to 8.1 and match in composer config

= 1.2.1 - July 14, 2025 =

- Support new attribute `with-details`

= 1.2.0 - July 03, 2025 =

- Update client API monbillet to 1.2.5

= 1.1.0 - May 08, 2025 =

- Support new attribute `show-past-events`
- Handle errors in API client

= 1.0.0 - May 06, 2025 =

- Initial version