Event post


Adds some meta-data to posts to convert them into full calendar events.
Each event can be exported into ical(.ics), outlook(vcs), or Google Calendar.
Geolocation works thanks to openstreetmap.

It can also fetch the weather, but doesn’t bring the sun 🙂

Follow @wpeventpost on Twitter for latest news.

Examples on event-post.com

Post metas

Date attributes

  • Begin Date
  • End Date
  • Color
  • Event Status
  • Event Attendance Mode

Location attributes

  • Dirección
  • GPS coordinates
  • Event Virtual Location

WooCommerce compliant

You can enable event features on Woocommerce products. The event will be displayed on the product page. Moreover, the product price will be displayed in event list, calendar, map and timeline.

This, way, you can sell tickets for your events, effortlessly and without any additional plugin.

Weather attribute (for a given location and date if possible)

  • Weather
    • Temperature
    • Weather


Plugins/themes developpers documentation

Blocks & Shortcodes

The plugin comes with several blocks/shortcodes which allows to:

  • [events_list]: display a list of events
  • [events_map]: display a map of events
  • [events_cal]: display a calendar of events
  • [event_details]: display a detail of the current event
  • [event_term]: display the date range of a given term based on all events it contains


Query parameters

  • nb=5 (number of post, -1 is all, default: 5)
  • future=1 (boolean, retrieve, or not, events in the future, default = 1)
  • past=0 (boolean, retrieve, or not, events in the past, default = 0)
  • cat=” (string, select posts only from the selected category, default=null, for all categories)
  • tag=” (string, select posts only from the selected tag, default=null, for all tags)
  • tax_name=” (string, custom taxonomy name)
  • tax_term=” (string, the term for above taxonomy)
  • geo=0 (boolean, retreives or not, only events which have geolocation informations, default=0)
  • order=”ASC” (string (can be “ASC” or “DESC”)
  • orderby=”meta_value” (string (if set to “meta_value” events are sorted by event date, possible values are native posts fields : “post_title”,”post_date” etc…)

Display parameters

  • thumbnail=” (Bool, default:false, used to display posts thumbnails)
  • thumbnail_size=” (String, default:”thmbnail”, can be set to any existing size : “medium”,”large”,”full” etc…)
  • excerpt=” (Bool, default:false, used to display posts excerpts)
  • style=” (String, add some inline CSS to the list wrapper)
  • type=”div” (string, possible values are : div, ul, ol default=div)
  • title=” (string, hidden if no events is found)
  • before_title='<h3>’ (string (default <h3>)
  • after_title='</h3>’ (string (default </h3>)
  • container_schema=” (string html schema to display list)
  • item_schema=” (string html schema to display item)


<\!-- wp:eventpost/list {"nb":10,"future":true,"past":true,"thumbnail":false,"excerpt":false,"pages":true} /-->

[events_list future=1 past=1 cat="actuality" nb=10]

container_schema default value:

<%type% class=”event_loop %id% %class%” id=”%listid%” style=”%style%” %attributes%>

item_schema default value:

<%child% class=”event_item %class%” data-color=”%color%”>
<a href=”%event_link%”>


  • nb=5 (number of post, -1 is all, default: 5)
  • future=1 (boolean, retreive, or not, events in the future, default = 1)
  • past=0 (boolean, retreive, or not, events in the past, default = 0)
  • cat=” (string, select posts only from the selected category, default=null, for all categories)
  • tag=” (string, select posts only from the selected tag, default=null, for all tags)
  • tax_name=” (string, custom taxonomy name)
  • tax_term=” (string, the term for above taxonomy)
  • tile=” (string (default@osm.org, OpenCycleMap, mapquest, osmfr, 2u, satelite, toner), sets the map background, default=default@osm.org)
  • title=” (string (default)
  • zoom=” (number or empty (default, means fit to points)
  • before_title='<h3>’; (string (default <h3>)
  • after_title='</h3>’ *(string (default </h3>)**
  • thumbnail=” * (Bool, default:false, used to display posts thumbnails)*
  • excerpt=” (Bool, default:false, used to display posts excerpts)
  • list=” (String (“false”, “above”, “below”, “right”, “left”) default: “false”, Display a list of posts)





[events_map future=1 past=1 cat=”actuality” nb=”-1″] `


  • cat=” (string, select posts only from the selected category, default=null, for all categories)
  • date=” (string, date for a month. Absolutly : 2013-9 or relatively : -1 month, default is empty, current month
  • datepicker=1 (boolean, displays or not a date picker)
  • mondayfirst=0 (boolean, weeks start on monday, default is 0 (sunday)
  • display_title=0 (boolean, displays or not events title under the day number)
  • tax_name=” (string, custom taxonomy name)
  • tax_term=” (string, the term for above taxonomy)





[events_cal cat=”actuality” date=”-2 months” mondayfirst=1 display_title=1] `


  • attribute string (date, start, end, address, location). The default value is NULL and displays the full event bar

    [event_details attribute="address"]



  • eventpost_add_custom_box_position
  • event_post_class_calendar_link
  • eventpost_columns_head
  • eventpost_contentbar
  • eventpost_default_list_shema
  • eventpost_get
  • eventpost_get_items
  • eventpost_get_post_types
  • eventpost_get_single
  • eventpost_getsettings
  • eventpost_item_scheme_entities
  • eventpost_item_scheme_values
  • eventpost_list_shema
  • eventpost_listevents
  • eventpost_maps
  • eventpost_multisite_get
  • eventpost_multisite_blogids
  • eventpost_params
  • eventpost_printdate
  • eventpost_printlocation
  • eventpost_bulk_edit_fields
  • eventpost_quick_edit_fields
  • eventpost_retreive
  • event-post-rich-result
  • eventpost_shortcode_slug


  • evenpost_init
  • eventpost_add_custom_box
  • eventpost_custom_box_date
  • eventpost_custom_box_loc
  • after_eventpost_generator
  • eventpost_getsettings
  • eventpost_settings_form
  • eventpost_after_settings_form


  • Map in single page
  • Editor interface for the List Block
  • Editor interface for event data
  • Editor interface for location data


This plugin provides 5 blocks.

  • Event details
  • Events Timeline
  • Events Calendar
  • Events Map
  • Events list


  1. Upload event-post to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress admin
  3. You can edit defaults settings in Settings > Event post


Is the plugin free ?

Yes, and it uses only open-sources : openstreetmap, openlayer, jquery

How do I enable weather feature ?

Weather feature uses openweathermap.org api.

You have to create an account and generate an API key at http://openweathermap.org/price

I have no interest in openweathermap.org, I personally use the free plan.

Is there any limitation for the weather feature ?

Openweathermap.org provides a free plan limited to 60 requests per minute.

You can also subscribe to paid plan, I don’t care.


12 de Junio, 2023
I was looking for a simple solution to post and archive events that were previously only on Facebook. Thanks to this plugin, it was easy to do. Thanks for your work so far
24 de Marzo, 2022 2 replies
Thanks for a simple, light, easy plugin. I didn't want a full event calendar for this project, and this is ideal. I would suggest simpler documentation for non-devs (like a dedicated admin page with settings, docs etc), and ability to control layout/css in shortcode a bit more, how to add weather, but overall an awesome and light plugin for folks who know some coding. Thanks.
22 de Enero, 2021 4 replies
I've found this addon as the only one so far (at least I think so) that embeds the event functionality to default WP posts, instead of creating it's own taxonomies. That allows events to be handled by plenty of other WP addons that don't recognize custom taxonomies (such as sliders, post grids etc.). Right now I have only one problem - days initials in calendar table aren't translatable, but I hope I will find a workaround. I also suggested a lot of string translations to Croatian here in translate.wordpress and I hope to to do a lot more. I hope you'll continue development of this addon. 🙂
30 de Julio, 2019
In the past used another plugin, but had to change because the other one became unmaintained. I hope to use eventpost a long time. I's very comfortable and versatile plugin.
Read all 33 reviews

Contributors & Developers

“Event post” is open source software. The following people have contributed to this plugin.


“Event post” has been translated into 9 locales. Thank you to the translators for their contributions.

Translate “Event post” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Fix December month on native datepicker


  • Dissociate event description from post excerpt
  • Remove double line breaks and &nbsp in description


  • Fix undefined variable in price and text-price
  • Now when excerpt is empty, the text body is used
  • Use relative URLS in rewrite rules
  • Fix attempt to assign property start on null
  • Fix read property “time_start” on bool


  • Set cursor on current date
  • Add support for WooCommerce products
  • New Timeline design
  • Fix ICS format
  • Fix PHP8 warnings
  • Update some dependencies


  • Update Requires at least to 5.9
  • Fix crash when there is no event to retreive
  • Ensure color format


  • Add EventDetails theme block
  • Inhibate click on location link if map has to be open
  • Fix data retreiving on single event block
  • Fix HTML of categories in Timeline
  • Fix item width in timeline


  • Fix division by zero


  • Use dashicons as Map Marker
  • Add color on Categories
  • Add a Time Line Slider Block
  • Fix list preview in admin
  • Fix bulk edit
  • Fix \n\n in Google Calendar description


  • Make location button clickable
  • Add padding around markers on map
  • Update OpenLayer to 6.12
  • Use native className in blocks


  • Add pretty URLs for ICS exports
  • Add geo: link on mobile devices
  • Refactor: split huge PHP/SCSS files into smaller ones
  • Fix PHP8 warnings


  • Fix crash in php8 : check time_start before using it in date()
  • Fix missing var for VCS export
  • Remove PHP notice in case of missusage
  • Add Timezone in RichEvent data


  • Allows to set custom HTML for pop elements in Map
  • Allows to set custom position on Map Block
  • Add filters on Calendar Date


  • Icalendar standards compliance


  • Use real permalink in ICS


  • Make blocks localizable
  • Update .POT file
  • Set default height/width to map
  • Update OpenLayer librairy to v6.5
  • Fix jQuery migrate deprecations
  • Load map in editor after a 2s delay, The #openlayer map doesn’t like to be hidden when loading
  • Move map controllers outside of the map
  • Add missing var declaration
  • Correctly get text for address search in edit page
  • Explicitly declare var in JS
  • Move inline-edit JS file in SRC and minify it


  • Fix Map not displayed in editor view
  • Fix Map not displayed in single view
  • Set default height to Map Block
  • Update OpenLayer to 6.5
  • Fix jQuery Migrate deprecations
  • Minify inline edit script
  • Correctly get text for address search in edit page


  • Add triggers on calendar
  • Add setting to hide/show EventStatus
  • Add “eventpost_shorcode_slug” filter
  • Remove deprecated shortcode wizard
  • Remove support for shortcake (shortcode UI)
  • Remove hard-coded textdomain loader
  • Fix JS warnings in admin


  • Add tax_name and tax_term attributes to shortcodes.
  • Update shortcodes documentation


  • Add wrappers around date picker in calendar widget
  • Add date remove button in editor
  • Remove PHP warning in single view when post is not an event

By the way:

  • Start files refactor : move custom boxes content into view directory


  • Add W3C/Event properties : AttendanceMode, EventStatus and LocationType
  • Add pagination support
  • Accurate localization for data/time
  • Add wrappers to date/time in multi days events
  • add filter to class on button on cal


  • Fix values not kept for checkboxes in editor
  • Force single view map height
  • add custom taxonomy to cal shortcode
  • Do not load gutenberg library on front
  • refactor JS/CSS file. manage all in webpack for minification
  • fix wrong path on filemtime in case of plugin notbeing in plugin dir physically
  • larger select for time in datepicker
  • remove unused french po/mo files
  • Cleaup SVN repo


  • Fix date picker display on Gutenberg
  • Fix CSS preview link in settings
  • Fix “Indirect access to variables” PHP warning
  • Add “Blogs” attribute in event-list block
  • Use get_sites() instead of deprecated wp_get_sites()

  • WordPress 5.0 compliant


  • WordPress 5.0 compliant


  • Fix crash when Gutenberg is not activated



  • List of events beside the map
  • Use ES6 library for Gutenberg Blocks


  • Upgrade OpenLayer to version 4.6.5
  • Fix map issue: unrecognized Animation/Pan
  • Fix empty permalink detection thanks to @maxoud and @akalwp
  • Cleanup textdomain in block js files
  • Fix Timezone issue in Gcal export



  • Adds Gutenberg block support for folowing shortcodes: List, Map, Calendar
  • Allow to display posts title in Calendar
  • Upgrade OpenLayer to version 4.6.4
  • Adds twitter labels for date and location


  • Load beautifull css and js files when WP_DEBUG is enabled
  • Wording and typo fixes
  • Fix some PHP Warnings


  • i18n: Contextualize i18n for “from” and “to”
  • Fix: Pass CTZ param to GoogleCalendar only if timesone is set
  • Fix: Explicitly get published events. (prevents from displaying drafts over admin/ajax URLs


  • Add: CSS class for past events in calendar
  • Add: Number of events in search results
  • Fix: Ensure correct response for getLatLong Ajax call


Retro-compatibility for php < 5.5, remove fatal error “Can’t use function return value in write context”


  • Added search form shortcode/widget
  • Quick and bulk edit
  • Custom CSS support: file URL or local theme file
  • Use native settings API


  • Fix incompatibility with PDOS / remove warning


  • Fix events dated at Epok when GMT is not well parsed
  • Move supported tiles to https (OSM, Humanitarian, OSM-fr)


  • Add option to hide event-bar
  • Add Tiles: Humanitarian, Positron and Dark matter
  • Add Retina (x2) title support
  • Add setting link in the plugins page
  • Add Map tiles attribution support
  • Add Add zoom option to SC/Widget
  • Add support for shortcake term selector (requires shortcake 0.7+)

  • Better support of timezones in VCS/ICS exports

  • Fix wrong parameter in calendar shortcode UI register
  • Fix displaying icons in wrong post’s title in single pages
  • Fix “Uncaught Error: [] operator not supported for string, PHP7 compliance
  • Correctly checks for content filtering, as mentionned in https://developer.wordpress.org/reference/hooks/the_content/#usage


Edit page

  • Improves “Location” edit box UI
    • click to drag the map
    • lighter search form
  • Improves “Date” edit box UI
    • new all day toggle option
    • new native WP datepicker
    • Better and obvious check that end date is after begining
    • lighter UI

Calendar Widget

  • Fix calendar widget title not displayed
  • Fix today highlithing in calendar when day of month is lower than 10

Other fixes

  • Fix openweahtermap URL in settings page
  • Fix date pickers preview in settings page


  • fix typo in cache management, related to https://wordpress.org/support/topic/location-deleted-after-update-a-post
  • check twice if event permaling is filled. fix https://wordpress.org/support/topic/event_link-not-working


End users new features:

  • Introduce initial Weather support
  • Introduce child events feature
  • Allows to define current location as coordinates of an event
  • Add loader icon for maps on front
  • Add map icon in the editor
  • Add address in the admin posts-list
  • Do not validate post form when hitting enter from the location search field

Developers new features:

  • New actions evenpost_init, eventpost_get_single, eventpost_custom_box_date, eventpost_custom_box_loc and eventpost_getsettings_action
  • New filter eventpost_default_list_shema
  • New $post parameter to eventpost_item_scheme_values filter
  • Update i18n file

Bug fixes:

  • Almost perfect accessibility in calendar
  • Cleaner HTML indent
  • Fix bad HTML syntax in event list
  • Fix wrong target for calendar container
  • Fix some CSS bad syntaxes
  • Some corrections in readme.txt


  • Fix JS bugs introduced in 4.2


release date: mar. 24 2016

  • Add generic wrapper functions
  • Drag map instead of point in editor mode
  • Code refactoring
    • externalize shortcode management in a separated file
    • store maps in a json file instead of an old csv
    • add lot of documentation
    • some code cleanup
  • Update OpenLayer to 3.14
  • Fix javascript bug causing some issues with other plugins


release date: feb. * 2016

  • Increases accessibility
    • Add alternative texts
    • remove default color for calendar widget
  • Remove french locale since it’s available at https://translate.wordpress.org/projects/wp-plugins/event-post/dev
  • Fix PHP warning in map widget


release date: feb. 4th 2016

  • Update OpenLayer to 3.11
  • Position preview in admin, drag and drop feature
  • Correctly parse time-zone for date displaying
  • Add timezone to Google calendar links
  • Only load JS and CSS when needed in the admin
  • Initial work on dates of a term
  • Fix wrong permalink in calendar widget


release date: nov. 12 2015

  • Added Localization for brazilian portuguese thanks to lipemesquita


release date: oct. 27 2015

  • Make replacement by “today” optional (prevent cache plugins issues)
  • More standard setting page
  • Only show events on dashboard right now if they’re more than 0
  • Date and time formats harmonization
  • Add .pot file and make match text-domain to plugin slug
  • Only displays expandable map in the content of the current single
  • Rename some js and css files


release date: oct. 6 2015

  • Add width and height options in map widget
  • Add thumbnail + size option in both list, map and calendar widgets
  • Add some hooks
  • Code cleanup


  • fix bug in past events fetching


release date: sept. 23 2015

  • Fix time zone issue
  • Add filter hook to list_events()
  • Add some explicit CSS classes to elements


release date: sept. 22 2015

  • Some wording
  • Add an option for time format
  • wrap export buttons in event list
  • Fix javascript bug in map when no default tile is set
  • Remove dummy javascript debug log


release date: sept. 15 2015

  • Update OpenLayer to version 3.9
  • Add Map interaction options (MouseWheelZoom, PinchZoom…)
  • Add option for datepicker UI
  • Add eligible post types option
  • Better performances
  • Fix PHP Warnings


  • update french translation


  • more WP 4.3 compliant


  • Corrección avisos de PHP


release date: aug. 14 2015

  • Fix bad html syntax
  • Make plugin WP 4.3 compliant
  • Add lot of comments
  • Update swedish translation thanks to @mepmepmep


  • Fix displaying of dates in map


  • Better multisite sort
  • Fix multiple dates
  • Fix CSS issue between ical export buttons and category


  • Fix “get_plugin_data” error, finally remove the function.


  • Fix “get_plugin_data” error


  • Add version to static files (JS/CSS) to prevent from local cache problems
  • Add sort parameters in shortcode UI
  • Fix language on date-picker
  • Fix bug (missing dates) for multi-site functions
  • Code cleanup, Retro compatibility to PHP<5.3


  • Fix empty date storing
  • Re-add quarters in time


  • Improve accessibility, use of native colors from the theme for links
  • More hookable ajax URL for calendar
  • Upgrade IT locale
  • Fix php warnings
  • Fix shortcake compatibility in pages


  • Fix missing files in last commit


  • Add event_details shortcode
  • Add integration with shotcake (ShortCodes UI)
  • Add Optional event icons in the loop
  • Optimize UI : New date-picker, separated date and address custom boxes
  • Add statistics in dashboard glance items
  • Code optimization
  • Update IT localization by pgallina


  • Fix: remove PHP warnings
  • Fix: JS script not loaded when the “calendar widget” is alone


  • Fix: remove PHP warnings


  • Add: Whole category ICS feed (link available in list widget, for future events)
  • Fix: JS was not loaded in single events since last version
  • Fix: Strict Standards warning, reported by argad
  • Fix: Dependence of OpenLayer library not needed by calendar widget, reported by p1s1


  • Add: eventpost_list_shema filter
  • Add: Global container/item shema settings
  • Add: Security improvement in settings management
  • Fix: Load scripts only of needed


  • Fix: Previous fix fix


  • Fix: Custom icons fix


  • Fix: Category filter
  • Fix: Add max zoom


  • Fix: Event list widget : missing title


  • Add: Italian localization, thanks to NewHouseStef


  • Fix: Future/past display style


  • Add: Save default settings to improve performances
  • Add: More options in list and map widgets


  • Update to OpenLayer3
  • Add: Responsive support
  • Add: Satelite and Toner view
  • Add: cat attributes now accepts multiple categories values ( cat=”1,2,3″ )
  • Add: Custom markers directory for developpers
  • Add: Global “event bar position” option : before or after the single content
  • Fix: Cleaner settings page


  • Add : Swedish localization, thanks to Mepmepmep


  • Fix : PHP warnings on empty dates


  • Fix : 00 minutes bug


  • Fix : Bug fix
  • Change : Multisite support is no more a separated plugin


  • Fix : Empty date error


  • Fix : JS error in minified osm-admin.js file


  • Fix : Error while retreiving the excerpt


  • Add : Setting to print/hide link for events with empty content
  • Fix : Check content with queried object instead of global $post
  • Fix : Bug in calendar animations


  • Fix : Optimize JS in admin side
  • Add : French and chinese localisation for date-picker
  • Add : Minify CSS


  • Fix : bug fix


  • Fix : apply content filter most later


  • Fix : content filter bug on home page


  • Add : attributes to events_list shortcode :
    • thumbnail=(true/false)
    • thumbnail_size=thumbnail
    • excerpt=(true/false)
    • container_schema (documentation coming soon)
    • item_schema (documentation coming soon)
  • Add : Usage of the event color for single details
  • Enhance : Event information form UI
  • Fix : Re-check if end date is after begin date
  • Fix : CSS adjustments
  • Fix : CSS adjustments
  • Fix : Prevent from filters applying “the_content” on another thing than the current post content


  • Fix : Really check all blogs when using “blogs=all” in shortcodes. May cause memory limit on big networks


  • Add : Multi-site event list support
  • Add : Integration of several hooks
  • Add : Map widget
  • Add : Parameters to display or not export buttons
  • Add : Native WP icons for map and calendar items
  • Add : data-color in list items
  • Fix : Event’s first day not shown in calendar
  • Fix : Use of minified JS files


  • Add : order and orderby parameters for shortcode [events_list]


  • Add : tag and style parameters for shortcode [events_list]


  • Fix : Parameters bug in export files


  • Add : Calendar widget/shortcode


  • Add : Improve address search UI
  • Fix : Address search bug fix


  • Add : make the function “EventPost::get_events” usable with an array as param
  • Fix : Use of https links
  • Fix : Change license from CC BY-NC to GPLv3


  • Fix : OSM map link error


  • Add : update openlayer version to 2.13.1
  • Add : change Map UI buttons
  • Add : Shortcode editor
  • Fix : Minor JS bug


  • Fix : Quick edit was removing date and geo datas
  • Fix : PHP Warning


  • Add : Title, before_title and after_title attributes to shortcode functions
  • Fix : Do not display empty title in widget


  • Add : add custom box to all post-types


  • Fix : bad output


  • Add : Admin settings page : choose a date format and a default map background
  • Add : Tile option for map shortcode, select a map background for a particular map
    available maps : default@osm.org, OpenCycleMap, mapquest, osmfr, 2u


  • Add : ajax loader icon for address search
  • Add : Event and location columns in posts list
  • Add : widget description
  • Add : place icon when available for address search
  • Fix : Empty display_name property in address search


  • Add: Category option for widgets and shortcodes
  • Add: Force end date to be greater than begin date
  • Add: Separate search field for GPS and address
  • Fix: Wrong parameter for widget options
  • Fix: Load jquery datetimepicker only if not supported by the browser


  • Add: Width & height properties in the ‘[events_map]’ shortcode
  • Add: Allow multiple maps on the same page
  • Fix: Same ID in multiple DOM elements bug fix
  • Fix: Some W3C standard corrections


  • Plugin creation