Event post


Adds some meta-datas 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 🙂


Post metas

Date attributes

  • Begin date-time
  • End date-time
  • Color

Location attributes

  • Address
  • GPS coordinates

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

  • Weather
    • Temperature
    • Weather

Full documentation

End users documentation

Plugins/themes developpers documentation


The plugin comes with several shortcodes wich 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

Available options :


Query parameters

  • 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)
  • geo=0 (boolean, retreives or not, only events wich 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 fileds : “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)

example: [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)
  • 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)

example: [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)

example: [events_cal cat="actuality" date="-2 months" mondayfirst=1]


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



  • eventpost_get
  • eventpost_getsettings
  • eventpost_item_scheme_entities
  • eventpost_item_scheme_values
  • eventpost_list_shema
  • eventpost_listevents
  • eventpost_multisite_get
  • eventpost_multisite_blogids
  • eventpost_params
  • eventpost_printdate
  • eventpost_printlocation
  • eventpost_retreive


  • before_eventpost_generator
  • after_eventpost_generator
  • eventpost_getsettings
  • eventpost_settings_form
  • eventpost_after_settings_form


  • Single page
  • Editor interface
  • Map


  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.


Very promising, but not ready for the production

  • Currently (4.5.1) is buggy
  • HTML is mostly hardcoded
  • No template or CSS override
  • No Google Maps
  • No documentation on hooks
  • No promised Github to contribute

If authors are able to polish the product, it will be the one of Top Event plugins because of simplicity in the spirit.

Also, as it utilizes native WordPress post types, CPTs and all mechanics, it’s completely compatible with the Polylang plugin, when none of the top event plugins can be proud of.

Great plugin, surprised more people aren’t using it!

So far the list feature is great!
The calendar feature isn’t ideal (but I don’t need it)
And if you know a bit of CSS and a little bit of code this is a perfect jumping point to a lot of functionality!

Ideal for websites and organizations that want to advertise events on a general blog and then also offer a separate workshops/events page. I have used 4-5 of the most popular calendar plugins, and while they’re great they go overboard on the features, they sometimes over-manipulate the interface on the backend, and this plugin honestly keeps it very simple.

GREAT Potential, too much wrong!

I really like this plugin. I like that it takes just a couple of extra clicks to add the date & time. I like the widget calendar and the box around today’s date. I like that I can change the schema for both the container and the item.
Here’s what I don’t like (what’s wrong):

  • The time is completely off. It uses UTC time. I was able to fix this for the calendar display by adjusting for my time zone, only to find that the time is off if I add the event to my calendar.
  • The box around today’s date doesn’t work if the date has only one digit (1st thru 9th).
  • The dashicons in the pagination show up for every post, whether it’s an event or not.
  • I posted in the support section and got basically no help at all…after several days.
  • When the event post is displayed in a list of posts, they all show the same date/time/location, even though they are different. This means that if someone clicks on the category, all the data is incorrect. This is a big issue!

Just too much wrong with this plugin to give it any more stars than 2! And that’s too bad as I liked the simplicity of this plugin more than the others.

Read all 17 reviews

Contributors & Developers

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


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

Translate “Event post” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.



  • Search form
  • Quick edit


  • 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


  • Fix PHP warnings


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