Display calendars from https://openagenda.com on your site.
Display calendars from https://openagenda.com on your site.
This WordPress plugin allows you to embed any calendar hosted on https://openagenda.com on your WordPress site.
Upon activation, the plugin creates a new post type named Calendars. Just create a new calendar, provide the UID of the calendar you wish to display in the calendar settings box, and that’s it !
You can leave the content area for this calendar empty, as it will be populated automatically with your events !
Your events are automatically inserted after your content. If you wish to control where your events will be listed, just use the shortcode [openagenda]
in your content.
General settings can be found under the Calendar > Settings entry in the admin menu.
All data related to your API key or calendars can be found on https://openagenda.com.
The settings are divided into two tabs: General and Integrations.
The General settings page provides the following settings :
The Integrations tab allows you to fine tune settings for various third party services the plugin uses.
OpenStreetmap integration settings :
CloudImage integration settings :
In the Permalinks settings, you can change the prefix for your calendar pages. You cannot leave this blank as your URLs will conflict with WordPress’ default pages and posts.
In the Customizer, a new panel is available to house various display settings. For now only a main color setting is available.
If you add Openagenda Filter widgets via the customizer, the preview will not display them immediately. That’s simply because filters are initialized on page load and the customizer preview is not always fully refreshed when a setting is changed.
Simply publish your settings and refresh the page, or open your agenda page in another tab. Your filter should work just fine.
To allow users to easily find relevant events, the plugin also provides a convenient filter widget. Place the widget in your sidebar or other widgetized area, pick a filter and tweak any additionnal settings in the widgets admin.
To integrate filters directly in your content instead of widget areas, the plugin also provide shortcodes.
Every shortcode listed here (except for [openagenda]
) corresponds to a filter option in the widget.
Additionaly, shortcodes and widget filters have the same parameters, and every shortcode attribute corresponds to a widget filter setting.
[openagenda]
Displays the calendar. You do not need to use this shortcode explicitely, as it is automatically injected in the content of your “calendars” posts.
However, if you need to insert static content after your list of events, you can do so by inserting this shortcode, then your static content afterwards.
[openagenda_filter_active]
Displays the active filters. It takes no parameters.
[openagenda_filter_choice]
Displays a list of choices, depending on the field chosen. It takes the following parameters :
field
: the slug of the choice field you want to display (e.g. “cities”, “keywords”, “departments”, “favorites”, etc… ).additional_field
: Any custom field you have setup in your OpenAgenda administration. Only works when ‘Additional Field’ is the chosen field.page_size
: Number of options to display before the ‘More options’ button.You can find the list of available additional fields in the Forms section of your agenda settings on openagenda.com (ex: https://openagenda.com/[your-agenda]/admin/schema)
[openagenda_filter_calendar]
Displays a calendar. It takes no parameters.
[openagenda_filter_map]
Displays an interactive map to locate and search events. It takes the following parameters :
map_tiles_link
: Map tiles link to use. Defaults to https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
map_auto
: Whether to automatically update map on scroll. [openagenda_preview]
Displays a preview of any calendar. It takes the following parameters :
uid
: UID of the calendar you wish to preview.size
: Number of events to display.filters
: Query string representing filters to apply to the request. To ensure it works properly and avoid breaking the shortcode, you should urlencode the query string. You can do so via a simple tool like https://www.urlencoder.org/fr/links
: Accepts oa
or an empty string. If set to oa
, event links will point to events pages on https//openagenda.com instead of local pages.[openagenda_filter_relative]
Allows to filters past or upcoming events. It takes no parameters.
[openagenda_filter_search]
Displays a search field. It takes the following parameters :
placeholder
: text field placeholder.Templates for the list of events and individual events can be customized in your theme.
Just create a folder named openagenda/
in your theme, then copy and paste the template you wish to override located in the plugin’s templates/
folder.
The plugin provide convenient template tags for you to display event data in the inc/template-tags.php
file. Feel free to define your own in your theme.
The plugin also provides many hooks to allow you to customize the html output or other various data.
This plugin displays data hosted and provided by https://openagenda.com. By using this plugin, you accept and agree with OpenAgenda’s terms and conditions and privacy policy. Please make sure to read them before using this plugin. Also, using this plugin DOES require an account at https://openagenda.com, and an API key.
By default, maps displayed by this plugin use data from https://openstreetmap.org/ and uses the leaflet JS library. By using this plugin, you accept and agree with OpenStreetMap’s terms of use, acceptable use policy and privacy policy
The plugin provides optional integration with CloudImage. The integration requires to create an account at https://cloudimage.io and accept and agree their terms of use.
Icons used in the UI are Genericons, licenced under the GPL 2.0.
A new Calendars menu entry is created, allowing you to manage your calendars and settings.
The simple settings page allow you to enter in your API key and tweak various settings.
Just create a new calendar post, and provide the OpenAgenda calendar UID in the Calendar settings metabox.
Find your Calendar UID on the openagenda.com site, just under the sidebar.
You can use convenient filter widgets to add filtering functionnality to your calendars.
In the Customizer, a new panel is available to house various display settings.
Enjoy !
The settings page is located under the Calendar main menu entry, just alongside your content. It is not polluting the main Settings menu entry, or adding any top-level entry.
All data related to your personal account and API keys can be found on your profile page at https://openagenda.com/settings.
All data related to calendars can be found on the calendar itself on https://openagenda.com. Just look for the calendar you wish to display, and find the UID in the sidebar, under the filter widgets.
Yes ! No problem ! Just create a new Calendar post, provide its UID and it will work.
You can find more thorough documentation on https://developers.openagenda.com/extension-wordpress/ (in French) or on the Github repository at https://github.com/OpenAgenda/wordpress
links
parameter to allow for external linking in preview.openagenda_get_field()
function, when called with ‘image’ and ‘thumbnail’ parameter.