The events posterboard shortcode is available in this free extension.
The event posterboard allows you to display events in a responsive grid. You can optionally specify filters, that allow the user to filter this grid by category, venue and if Pro is installed, by city, state or country.
Using the attributes you can also show events in particular categories, venues, date-range or a combination of both.
You can also change the appearance of board, see “Changing the appearance” section below.
Examples
For example
[event_board filters="state"]
You can display multiple filters by listing them as a comma delimited list:
[event_board filters="state,category"]
With the exception of no_events
attribute all the attributes supported by the [eo_events]
shortcode are also available. For example to show events that start in the coming 7 days:
[event_board event_start_after="now" event_start_before="+1 week"]
To output a list of future events at the venue of the current event.
[event_board venue="%this%" showpastevents=false]
Attributes
Query parameters
The shortcode automatically inherits attributes supported by eo_get_events()
. For example sorting by event start/end date, querying by taxonomy (Note: hyphens in event-venue, event-category, etc should replaced by underscores).
Because eo_get_events()
inherits arguments from get_posts()
– you can use the arguments for get_posts()
(see codex) in both eo_get_events()
and this shortcode.
Therefore, an incomplete list of supported attributes is the following:
-
event_venue – the venue slug (must be a string).
-
event_category – the category slug (must be a string).
-
event_tag – the tag slug (must be a string).
-
event_start_before – Events that start before date given as a string in YYYY-MM-DD format or relative format. There is no default value.
-
event_start_after – Events that start after date given as a string in YYYY-MM-DD format or relative format. By default the plug-in will show events that start on or after “today”.
-
event_end_before – Events that end before date given as a string in YYYY-MM-DD format or relative format. There is no default value.
-
event_end_after – Events that end after date given as a string in YYYY-MM-DD format or relative format. There is no default value.
-
showpastevents – True or False. If set to false, excludes events that have already started. Default value is set in Event Organiser settings page.
-
group_events_by – ‘series’ or ‘occurrences’. Defaults to ‘occurrences’ (effectively no grouping). If set to ‘series’, only the next occurrence of a recurring event is displayed.
-
posts_per_page – The number of events to display.
-
users_events – If true display only events for which the current user is attending
Filter parameters
You can add filters at the top of the event board to filter the events. Supported filters include:
- venue
- category
- city (when installed with Event Organiser Pro)
- state (when installed with Event Organiser Pro)
- country (when installed with Event Organiser Pro)
For example
[event_board filters="state"]
You can display multiple filters by listing them as a comma delimited list
[event_board event_start_after="now" event_start_before="+1 week"]
Changing the appearance
You can change the mark-up the posterboard and how the details of the events appear by copying the template file event-organiser-posterboard/tempates/single-event-board-item.html
into your theme and editing. Note that this template file is an Underscore/Backbone template.
You can disable or change the the styling of the posterboard using the following code:
function my_custom_posterboard_style(){
//Deregister default styles
wp_deregister_style( 'eo_posterboard' );
//Optional, register "event-board.css" from your theme directory.
wp_register_style( 'eo_posterboard', get_template_directory_uri() . '/event-board.css', array() );
}
add_action( 'init', 'my_custom_posterboard_style', 999 );
Alternatively you can use the setting in Settings > Event Organiser > General to disable all Event Organiser’s stylesheets. This may affect the performance of some features if you do not provide your own styling in your theme.