
內容簡介
ABP Event Ticket 將 WooCommerce 轉變為完整的活動票務和註冊系統,讓使用者能夠輕鬆創建活動、配置票種與價格、收集參加者資訊,並通過 WooCommerce 的結帳流程銷售票券。
【主要功能】
• 活動創建與管理
• 可重複使用的座位計畫設計
• 即時座位可用性更新
• 多種票種與定價選項
• Google 地圖顯示活動地點
• 參加者資訊表單配置
外掛標籤
開發者團隊
原文外掛簡介
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:
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/speaker folder inside your wp-content directory.
Copy default.php, light.php, or modern.php from the plugin’s tb_templates/speaker folder 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, or minimal.
slider_style – Gallery style: gallery or slider.
pagination – Enable or disable pagination.
pagination-style – Pagination mode: live or number.
column – Number of listing columns.
sort – Event order: ASC or DESC.
Example:
[abpet-booking style="grid" column="3" pagination="yes"]
Minimal event list example:
[abpet-post style="minimal" show="8" pagination-style="number"]
My Account Bookings
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]
