Directory / plugin
ABP Event Ticket
v1.0.4 ยท by ABP Team
Sell event tickets online with WooCommerce using general admission, reserved seats, and attendee forms.
About this plugin
ABP Event Ticket turns WooCommerce into a complete event ticketing and registration system. Create events, configure ticket types and prices, publish event details, collect attendee information, and sell tickets through the standard WooCommerce checkout. It is the simplest way to sell event tickets, concert tickets, conference tickets, festival tickets, and workshop registration online.
The plugin supports both general admission and reserved seating. Administrators can build reusable seat plans with drag-and-drop controls, automatic numbering, custom labels, ticket-type assignment, and flexible layouts. Seat availability is updated in real time as tickets are booked, so you never oversell an event.
Create reusable global configuration for ticket types, seat plans, dates, locations, categories, organizers, brands, features, additional services, attendee forms, FAQs, Terms & Conditions, event timelines, and speakers. Global configuration can be imported into an individual event and customized when needed. Customers can book from any page with a lightweight shortcode, and a Bookings tab appears automatically in their WooCommerce account.
Key Features
- Event creation and management
- Event list with pagination and status filters
- Event edit, clone, view, trash, restore, and permanent delete actions
- General admission ticket sales
- Reserved seat ticket sales
- Reusable global ticket types
- Multiple ticket types and pricing options
- Minimum, maximum, and reserved quantity controls
- Reusable seat plans
- Drag-and-drop seat plan designer
- Automatic seat numbering and custom seat prefixes
- Custom seat labels, cells, dimensions, spacing, and layout
- Ticket-type assignment to seats
- Multiple seat plan instances and seat layers
- Real-time seat availability
- Specific-date and periodic-date event schedules
- Date-wise and day-wise time configuration
- Advance booking and sale closing buffer controls
- Location, category, organizer, and brand management
- Google Location Map with search-and-select admin picker and key-free iframe fallback
- Frontend location map with three display styles (default, light, modern)
- Event features and related event display
- Configurable attendee information forms
- Optional additional services with pricing
- Event FAQs and Terms & Conditions
- Event Timeline with time, title, and description entries
- Event Speakers with full profiles (bio, photo, designation, company, website, social links)
- Global and event-specific configuration
- Feature enable and disable controls
- Event search, filtering, and pagination
- Event details templates and display themes
- Event gallery and image slider
- WooCommerce cart, checkout, payment, tax, coupon, and order integration
- Booking and order details in the WordPress dashboard
- Translation-ready
- Gutenberg-compatible event post type and taxonomies
- Polylang-compatible frontend language filtering when Polylang is active
Ticket Types and Pricing
Create ticket types such as Adult, Child, VIP, or Early Bird and configure their prices and quantities. Ticket types can be created globally and reused across events. For reserved seating events, ticket types can also be assigned to specific seats or seat areas.
Seat Plan Designer
The seat plan designer lets you create reusable seating layouts for theaters, conferences, classrooms, venues, and other events.
Seat plans support:
- Drag-and-drop positioning
- Automatic seat numbering
- Custom seat names and prefixes
- Custom cells and text
- Flexible rows and columns
- Adjustable cell size and gaps
- Ticket-type assignment
- Multiple layout configurations
- Visual and background customization
- Clone, edit, view, and delete actions
Event Scheduling
Configure when tickets are available for each event:
- Specific event dates
- Periodic dates
- Date-wise times
- Day-wise times
- Advance booking date limits
- Sale closing buffer time
- Availability and quantity controls
Google Location Map
Show a Google Map for the locations assigned to an event. With a Google Maps JavaScript API key the interactive map is rendered via the JavaScript API and Places library. When no API key is saved, the map is rendered as an embedded iframe (no API key required), so the location still displays as long as the global Google Location Map switch is on.
Setup:
- Enable Google Location Map under the plugin’s global ON/OFF settings.
- Paste your Google Maps JavaScript API key into the Google Maps API Key field.
- Open a Location in the global data, search for the address or place, and select it on the map to save its latitude, longitude, address, and place data.
- Assign that location to an event.
When the global switch is on, the event has a location, and that location has saved map data, the map is displayed on the event details page. With an API key saved, the interactive JavaScript map renders; without a key, an embedded iframe map renders instead. If the switch is off or no map data exists for the location, no map is rendered.
The map appears in the event details templates and includes:
- Search-and-select map picker in the Location admin screen
- Draggable marker to fine-tune the saved coordinates
- Per-location map data (latitude, longitude, address, and place ID)
- Three frontend map styles: default, light, and modern
- Clickable marker with location name and address info window
- “Get Directions” links to Google Maps
Event Timeline
Display a visual event timeline on the event details page showing the schedule of activities in chronological order. Each timeline entry consists of a time, a title, and a rich-text description.
Setup:
- Enable Event Timeline under the plugin’s global ON/OFF settings.
- Open an event and go to the Timeline tab.
- Turn on the “Active Timeline” switch for that event.
- Click “Add New Timeline Item” and fill in the time, title, and description for each schedule entry.
- Save the event.
The timeline appears on the event details page when the event has at least one timeline entry with a title. It supports three display styles that match the event details template:
- Default – Vertical line with dot markers and a bordered card layout
- Light – Vertical line with circle markers and shadowed card layout
- Modern – Header banner with badge markers and dashed card layout within a rounded container
The timeline section is gated by the global Event Timeline switch. When the switch is OFF, no timeline is displayed anywhere on the site even if events have timeline entries saved. The per-event “Active Timeline” switch controls whether the timeline is shown for that specific event.
Event Speakers
Create and manage reusable speaker profiles with rich information including bio, photo, designation, company, website, and social media links (Twitter/X, LinkedIn, Facebook, Instagram). A speaker can be linked to any number of events.
Setup:
- Enable Event Speaker under the plugin’s global ON/OFF settings.
- Open the plugin’s Global Data section and go to the Speaker tab.
- Click “Add New Speaker” and fill in the name, bio, photo, designation, company, website, and social links.
- Save the speaker.
- Open an event and go to the event edit screen.
- In the Speaker section, search and select one or more speakers to associate with the event.
- Save the event.
Speaker management includes:
- Add, edit, and delete speakers from the Global Data > Speaker tab
- Rich-text speaker bio
- Speaker photo upload with image selection and removal
- Designation and company fields
- Website URL
- Social profile URLs for Twitter/X, LinkedIn, Facebook, and Instagram
- Optional per-speaker slug, used for the speaker profile page URL
- A speaker picker in the event editor with multi-select, so a single speaker can be reused across many events
- A per-event “Active Speaker” switch to show or hide the speaker section for that event
- A global Event Speaker switch that hides all speaker features when turned OFF
Speakers are stored as terms in the abpet_speaker taxonomy, which is registered against the Event post type. Per-speaker data such as photo, designation, company, website, and social links is stored in speaker meta.
Frontend Display
Linked speakers are displayed automatically on the event details page, directly below the event timeline. No shortcode is required.
The section follows the active event details template, so it matches your site automatically:
- Default – vertical list with a round photo, name, designation, company, bio, and social links
- Light – responsive card grid with a large photo, centred text, and a social footer
- Modern – centred avatar row inside a bordered panel
A speaker with no photo shows their initials in a coloured circle instead. Speakers with no bio, website, or social links render cleanly without empty gaps.
The section is skipped entirely when the event has no speakers linked, when the global Event Speaker switch is OFF, or when the per-event “Active Speaker” switch is OFF. The per-event switch is ON by default, so speakers appear as soon as you link them.
Speaker Page
Every speaker has its own page at /speaker/{speaker-slug}/, for example /speaker/dr-sarah-chen/.
Unlike the other taxonomy pages, the speaker page does not run an event list. It is a dedicated profile page that shows only the speaker information entered in the admin:
- Photo, or the speaker’s initials in a coloured circle when no photo is set
- Name
- Designation and company
- Website
- Full bio, with rich text formatting preserved
- Every saved social profile, shown with its network name and icon
Sections with no data are omitted entirely, so a speaker with only a name shows only their name.
The page template can be overridden the same way as the other templates: copy page/speaker.php from the plugin’s tb_templates folder into wp-content/tb_templates/page/.
To list a speaker’s events somewhere, for example on a normal WordPress page or inside your own template, use the shortcode:
[abpet-post speaker_id="TERM_ID"]
The term ID is shown in the Global Data > Speaker list.
Display Hook
If you want to place the speaker section somewhere else, or restyle it, use the abpet_speaker action:
<?php do_action( 'abpet_speaker', $post_infos, $post_id, 'default' ); ?>
Accepted arguments: the event meta array, the event post ID, and the style (default, light, or modern).
Each style also fires its own template action after rendering, for example abpet_speaker_default_template.
Template Overrides
All three designs live in separate template files and can be overridden without touching the plugin:
- Create a
tb_templates/speakerfolder inside yourwp-contentdirectory. - Copy
default.php,light.php, ormodern.phpfrom the plugin’stb_templates/speakerfolder into it. - Edit your copy. The plugin uses your file instead of its own.
Attendee Information and Services
Collect the information required for registration through configurable attendee forms. Add optional services, such as meals, merchandise, or other event extras, with separate prices.
Global attendee forms and additional services can be imported into an event and customized for that event.
WooCommerce Integration
WooCommerce is required for ticket cart and checkout functionality. Customers can select an event, ticket type, date, seats (when enabled), attendee details, and optional services before completing payment through any payment gateway supported by WooCommerce.
WooCommerce manages the cart, checkout, payment, tax, coupon, customer account, and order workflow.
Shortcodes
Add these shortcodes to any WordPress page:
[abpet-booking]
Displays the event listing and booking interface, including search, filters, ticket selection, attendee forms, and checkout flow.
[abpet-post]
Displays an event listing without the booking wrapper.
[abpet-gallery]
Displays event images in a gallery or slider.
Common attributes include:
post_id– Display a specific event.cat_id– Filter by category.loc_id– Filter by location.organizer_id– Filter by organizer.brand_id– Filter by brand.style– Listing style:grid,list,missionary, orminimal.slider_style– Gallery style:galleryorslider.pagination– Enable or disable pagination.pagination-style– Pagination mode:liveornumber.column– Number of listing columns.sort– Event order:ASCorDESC.
Example:
[abpet-booking style="grid" column="3" pagination="yes"]
Minimal event list example:
[abpet-post style="minimal" show="8" pagination-style="number"]<h3>My Account Bookings</h3>
When used with WooCommerce, a “Bookings” tab is added automatically to the WooCommerce My Account area. Logged-in customers can view their event bookings, event dates, ticket details, additional services, attendee information, and order totals in one place, with pagination for large histories.
Requirements
- WordPress 6.2 or later
- PHP 7.4 or later
- MySQL 5.7 or later
- WooCommerce 8.0 or later
Gutenberg and Multilingual Support
The event post type and all event taxonomies are registered with REST API support, so events and taxonomies can be edited with the Gutenberg block editor. The plugin’s event listing and booking shortcodes can also be inserted into Gutenberg Shortcode blocks.
The plugin is translation-ready and supports Polylang’s frontend language filtering for event listings. Create a translated event and translated taxonomy terms in Polylang for each language you publish. WooCommerce handles translated checkout and customer account pages according to the multilingual plugin configuration.
Plugin-specific global configuration labels, ticket names, and option values are stored as reusable settings and are not automatically duplicated or translated by Polylang. Translate those values through your multilingual workflow or use event-specific values when each language needs different content.
Need help or have suggestions?
If you need any further assistance or support, please contact us through the ๐ซ support form. We welcome your suggestions, so feel free to tell us anything we can improve in the plugin.
๐ Live Demo
๐ Documentation
๐ฌ Support Forum
๐ Bug Reports
๐ง Email: [email protected]