Shortcode Details

The shortcode is only available on the Pro version.

The best way to explore the shortcode is to use the dynamic shortcoder builder here. One of the great things about the shortcode builder – is you can use your won Eventbrite data so can test and see what your events are doing. The rest of this page is the detailed documentation of the shortcode.

the basic shortcode is



The Pro plugin comes with multiple layouts.

1 – ( the default ) responsive layout which is full page width and CSS that works well with wide themes

grid – a responsive grid format based on layout 1

cal – uses a calendar layout –  ( language translation will be attempted automatically see note here about languages )

venue – a responsive layout design from input from music presenter – this layout has optional styles – dark – light – dark card – light card – and card grid
the card formats are suitable for narrow layouts where a wide format doesn’t work well, and grid layouts

cal_list – a monthly calendar view in list format

widget – uses the same layout as the widget

You can define which layout is used like this, different layouts may warrant different total number of events ( limit )

[wfea layout='1']
[wfea layout='grid' limit='6']
[wfea layout='cal' limit='9999']

[wfea layout='venue' style='light' limit='10']
[wfea layout='venue' style='dark card' limit='10']
[wfea layout='venue' style='grid light card' limit='10']
[wfea layout='cal_list'  limit='9999']

[wfea layout='widget']

Which can be used on pages or post as appropriate.

There are many additional shortcode options giving you flexibility to chose what you need. You can see many examples of these in action on the demo website.

api_key [default ”] (text) Overide the API token in settings, enabling multiple accounts on one site

booknow [default true] (true or false) if true displays a call to action button

booknow_text [default Register »] (text) text for the call to action button

cal_default_views [default “month”](text) change the default view for the calendar view. The choice is “month” or “agendaWeek”.

cal_list_days [default 0](integer) sets the numbers of days on the calendar list view. By default the view is monthly, but set to 90 days to give the next 90 days, 365 for the next 365 etc.

cal_list_header_left [default title]( allowed buttons) Use to customise the calendar list header buttons, set all three (left, center, right) to ” (empty) to have no header. Allowed buttons = title prev next prevYear nextYear today. Buttons can be combined with commas , e.g. prev,next

cal_list_header_center [default ”]( allowed buttons) see above – calendar list header center.

cal_list_headerright [default prev,next]( allowed buttons) see above – calendar list header right.

category_id [default nothing]  (integer) limit to a specific category id – finding the category_id isn’t simple as you need the internal number. You can look up the list see this guide. You can also use [wfea debug='true' eb_id='yourid'] in a test post to see the underlying data of your event if you want to check the ID of your event.

coming_soon_button [default nothing] (text) If specified, the buy now button will display the text if tickets are available at a future date e.g. coming_soon_button=”Coming Soon!”. By default this will have a class of coming_soon__link so you can style differently. you can override the class by separating the text with a comma e.g. coming_soon_button=”Coming Soon!,my-class-1 my-class-2″

content [default false] (true or false) setting content=’true’ will display full text from Eventbrite rather than apply excerpt shortening filters ‘eawp_excerpt‘  ( see here if you want to tweak them ), and the excerpt, length, readmore and readmore_text parameters will be ignored. If you want full HTML use this in conjunction with long_description

cssID [default nothing] (text) sets the CSS ID for the whole section, used by developers

css_class [default nothing] (text) sets an additional CSS class for the whole section, used by developers

date [default true] (true or false) if true displays the date / time of the event

deduplicate [default true] (true or false) if your API key covers multiple organizations you the events can sometimes be duplicated, by default the plugin removes duplicated event ids. If for some reason you want to show duplicates set to ‘false’

direct_to_external [default true] (true or false) Music platform only. Music promoters can specify external ticketing sites – in this case by default the link will be to the, but if you want to go to the intermediate Evenbrite page, set this to false. In post cases onsite popup checkout is disabled for external ticket events as it contains nothing useful .

display_private [default true] (true or false) if true displays private events.

debug [default false] (true or false) displays a dump of all your selected events, useful if you are having trouble finding out organizer_id or venue_id, or extending one of the default templates.

eb_id [default nothing] (text) Eventbite ID – If you want to display a single event by ID – e.g. featured event, or several events. e.g. eb_id=’12345678′ or a comma separated list eb_id=’12345678,99887766,111222333′

excerpt [default true] (true or false) if true an excerpt of the Summary on Eventbrite will be displayed – please note Eventbrite UI provides the Summary description to the API, this is limited by Eventbrite to 140 characters. If you want the full description set long_description to true.

format_id [default nothing] (text) Eventbite ID – THe format, or as Eventbrite front end calls it Type, specifies the type of event, e.g. Conference, Class, Rally etc

filter_location [default nothing] (text / encoded regex ) filter_allows allows you to filter on the location name in the same manner as filtering the title below.

filter_title [default nothing] (text / encoded regex ) filter_title allows you to select just events where the title matches this filter. The filter can be a simple text string e.g. Singing which will display all events with Singing anywhere in the title.  Note this is case sensitive. You can also use a regex without the delimiters ( if you want to use delimiters use / )e.g. /singing/i for case insensitive or ^ Singing  for all titles staring with Singing  or  ^(Singing|Shouting) for example using regex or structure etc or any regex features ( you can check your regex at sites like ). Except as regex can include [ ] a.g  ^[Ss]inging   the reg ex has to be url-encoded –  you can use the input field below to generate the encoded field  e.g.   ^[Ss]inging becomes %5E%5BSs%5Dinging

Regular expressions (regex) are very powerful, for instance you can use them to filter out strings too, e.g. ^((?!badword).)*$  see for a useful testing tool.

first_of_series [default false] (true or false)  If set to true, only the first displayed event of a linked series of events will be displayed.

layout [default 1] (text)  defines the layout template, this is an advanced developer feature to allow custom templates.

length [default 50]  ( +ve integer ) the number of words of description to display ( length will be ignored if you set content to true to get the full html )

limit  [default 5] ( +ve integer ) sets the number of events to display, the soonest first, good idea on calendar layouts to set this to a large number like 9999

link_custom_page  [default nothing] ( url ) if you set this – then any link on the display will link to another page. This is most useful if you have a summary page, like calendar or grid and you want to link to a full landing page. If you use the shortcode on the landing page it will display the related event if you specify the url with an id parameter. Example link_custom_page=”/single-event?wfea_eb_id={id}’. See an example here ->

location  [default nothing] ( selection of values ) If a value is set that will be used in the display for location. Possible values are name, address_1, address_2, city, postal_code, country, localized_display_address, localized _display_area. Generally you should pick name or one of the localized options.

location_title [default nothing] ( text ) If you are displaying a location, then you may want a title, use this text field for that title.

long_description [default false] Use the long description rather than summary ( only use this for the new interface where you get both summary and full description options ), optionally you may want to use this when content=’true’ to get the HTML markup.

music_show_age_restriction [default false] (true or false) only available to Evenbrite Music Promoters. Displays any age restriction set.

music_show_age_restriction_label [default ‘Min. Age: ‘] ( text ) If you are displaying age restriction, then you may want a label, use this text field for that label.

music_show_door_time [default false] (true or false) only available to Evenbrite Music Promoters. Displays door time when set.

music_show_door_time_label [Default ‘Doors: %1$s | Show: %2$s’] ( text ) If you are displaying door time, then this text will be displayed – placeholder %1$s contains the door time and %2$s the show time.

music_show_door_no_time_label [default ‘Show: %s’] ( text ) If you are displaying door time, but an event doesn’t have a specified door time, then this text will be displayed – placeholder %s is the show time.

music_show_presented_by [default false] (true or false) only available to Evenbrite Music Promoters. Displays the presented by text..

music_show_presented_label [default nothing] ( text ) If you are displaying age restriction, then you may want a label, use this text field for that label.

newtab [default false]  (true or false) if true any clicked link will be open in a new tab

no_events_found_text [default nothing] ( text ) Useful if you have different shortcodes to filter different events e.g. categories, past & future to put in context ‘No Events Found’.

online_events_address_text [default nothing] (text) Online events do not have an address so if you want to filter by location there is nothing to filter or display the venue you will get a warning. A structured string of field:value pairs separated by commas. e.g. localized_display_address: Webinar, city: Online
You can use these address fields

online_events_only [default false]  (true or false) if true only online events will be displayed. If false or not given, all events online & physical will be displayed.

order_by [default asc] (text  asc | desc) asc = ascending date, desc = descending, created_asc = ascending by creation ( i.e. recently added )  created_desc = descending by creation – useful if showing events in the past see demo here

organization_id [default nothing]  (integer) limit to a specific organisation id if you have several organizations on the same account / API key.

organizer_id [default nothing]  (integer) limit to a specific organiser id if you have several – finding the organizer_id isn’t simple as you need the internal number – this guide( Finding Organizer Id) is one way to get that information.

popup [default false] (true or false) if popup=’true’ all click actions ( except readmore ) will open a ticket purchase popup / modal on your site. Additionally the tickets and newtab parameters are ignored ( Please note: for popup to work your site must have a valid SSL otherwise the popup will not work, this is an Eventbrite requirement, and the popup code from Eventbrite doesn’t handle series in the way their direct checkout does, so popup is not recommended when you use series, and definitely problematic is you also set first_of_series as users have no way to selected other dates )

readmore [default true] (true or false) if true will display a read more link after excerpt

readmore_text [default Read More »] (text) text for the read more link

search [default nothing]  keyword(s) to search across titles, location names and  description of the Events in your Eventbrite Account e.g. search=”chemistry” will pull back all of your events that mention the word chemistry in title, location or description in your Eventbrite organisation. You can use regex like other filter functions above.

show_availability [default 0] (int) Provide a +ve integer and the number of tickets available will display, or ‘sold out’. If the number of tickets is greater tan the number specified it will simply say ‘Tickets are available’, but if under that number it will say how many are left, if you specify show_availability=“9” and there are 5 tickets left it will say 5 tickets left, but if there are a hundred tickets it will just says ‘Tickets Available’. If you never want a count use -1 but still want available/sold out.
Important: the data is cached – so availability is not real time – so fast moving tickets may not be accurately reflected. You may wish to set the plugin cache time to lower than 24 hours, but I don’t suggest less than 1 hour on a production site for performance reasons.

show_date_time [default true] (true or false) If you do not want the date / time in the event detail section show_date_time=”false” – this is useful for music presenters when setting music_show_door_time=”true” to avoid too many times

show_end_time [default true] (true or false) If your only want start time set show_end_time=”false”

show_prices [default false] (true or false) If set to true the price range of tickets will be displayed ( inc fees) e.g. £20-£55 . If all tickets are free, then free is displayed.

sold_out_button [default nothing] (text) If specified, the buy now button will display the text if the event is sold out e.g. sold_out_button=”Sold Out!”. The buy now button is also disabled ( but not other links ). Disabling is done by a class, by default this will have sold_out__link and disabled class. you can override the class by separating the text with a comma e.g. sold_out_button=”Sold Out!,my-class-1 my-class-2″

start_date_range_start  & start_date_range_end [default none] (date strings) always use a start and end pair or it will be ignored.   The date range can (and should) be relative  e.g. start_date_range_start=’first day of -3 months’ start_date_range_end=’+1 year’   would show the prior 3 months and the next year  ( would require also status=’ended,started,live’ )

status [default live] (text  live,started,ended,cancelled,draft,all ) comma separated list of event status, e.g. if you want prior events used ended,started

style [default ‘default’] (text) some layouts have multiple styles – e.g. dark, light, dark card, light card

subcategory_id [default nothing]  (integer) limit to a specific subcategory id (often not used) – finding the venue_id isn’t simple as you need the internal number. You can list the subcategory IDs here. Also you can use [wfea debug='true' eb_id='youreventid'] to see the underlying data of your event to see the IDs..

tickets  [default false]  (true or false) default is false, if true the call to action button link goes straight to the ticket pop up on the Eventbrite page

thumb [default true] (true or false) if true displays the thumbnail image from Eventbrite, please note Eventbrite by default provide an image optimised and limited in size ( approx 400px to 450px depending on various factors ), bear this in mind when designing wide layouts. If you need higher resolution images set thumb_original to true.

thumb_align [default eaw-aligncenter(text) Widget Template Only – class for the thumbnail image alignment, preset values are eaw-alignleft, eaw-aligncenter, eaw-alignright.

thumb_default [default×400/f0f0f0/ccc] (text url) link to a default image that will be used if no image provided by Eventbrite. You may need to adjust this to suit your template.

thumb_original [default false] (true or false) Use the original uploaded image instead of the optimised image. Use this for large ‘hero’ type layouts.

thumb_width [default 300 ] (integer) Widget Template Only – sets the thumbnail width as in the way the widget can

unavailable_button [default nothing] (text) If specified, the buy now button will display the text if no tickets are available, this can occur for instance when an event is cancelled e.g. unavailable_button=”Unavailable!”. The buy now button is also disabled ( but not other links ). Disabling is done by a class, by default this will have unavailable__link and disabled class. you can override the class by separating the text with a comma e.g. unavailable_button=”Unavailable!,my-class-1 my-class-2″

venue_id [default nothing]  (integer) limit to a specific venue id – finding the venue_id isn’t simple. The easiest way is to use your API key in the dynamic shortcoder builder and start typing any thing in the Venue ID box.

widgetwrap [default true ] (true or false) Widget Template Only – add an additional widget wrapper around the output to use the default widget style – when the shortcode is used in an article. Set to false if the shortcode is used in a text widget or you are custom styling.

Was this helpful?

Previous Article

Shortcode Builder

Next Article

Using the Widget