This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

My Tickets


My Tickets integrates with My Calendar or can be used for ticket sales on its own. Sell tickets for box office pick up, shipping, or accept print-at-home and e-tickets for an easy experience for your ticket holders!

My Tickets ships with PayPal Standard payments, so you can sell tickets immediately. You can also take offline payments, to use My Tickets as a reservation tool.

Explore the premium add-ons for My Tickets!

Premium add-ons include:

  • Payment Gateways:, Stripe
  • In-cart Donations
  • Discount Codes
  • Waiting Lists

Basic Features:

For buyers:

  • Create an account to save your address and shipping preferences
  • Automatically converts shopping carts to your account if you log-in after adding purchases
  • Buy tickets for multiple events, with multiple ticket types.

For sellers:

  • Reports on ticket sales by time or event
  • Easily add new ticket sales from the box office, when somebody pays by phone or mail.
  • Use your mobile phone and a standard QRCode reader to verify print-at-home tickets or e-tickets
  • Send email to a single purchaser with questions about their ticket purchase, or mass email all purchasers for an event.
  • Define either continuous (Adult, Student, Child) or discrete (Section 1, Section 2, Section 3) ticket classes for any event
  • Offer member-only discounts for your registered members
  • General Admission tickets: Sell tickets for events without dates, valid for days, weeks, or months after purchase.

My Tickets is hugely flexible – check out the library of Premium add-ons!


Read the online documentation.


  • Add to Cart Form
  • Alış-veriş Səbəti
  • Payment Admin


  1. Upload the /my-tickets/ directory into your WordPress plugins directory.

  2. Activate the plugin on your WordPress plugins page

  3. Configure My Tickets using the following pages in the admin panel:

    My Tickets -> Settings
    My Tickets -> Payment Settings
    My Tickets -> Ticket Settings
    My Tickets -> Reports
    My Tickets -> Ticketing Help

  4. With My Calendar, add ticket parameters to an event. Without My Calendar, choose what post types will support tickets from My Tickets -> Settings, and add ticket parameters to any post or Page!


I’m trying to sell tickets with My Calendar, but can’t see how to add sales information

The My Tickets sales information is entered in the ‘Registration Information’ panel of the My Calendar add event screen. This may be turned off in your installation. There are two places to look to enable it. First, go to My Calendar > Settings and go to the Input Settings section. If the ‘registration’ option isn’t checked, check it and save settings. Second, go to the Add Event screen. If the registration options still aren’t visible, you may need to enable them in your personal Screen Options. Open the Screen Options panel and check the option there – these are settings that apply only to your account.

I’m trying to sell tickets on a recurring event in My Calendar, but all the dates are the same

My Tickets data is associated with post IDs, and My Calendar’s recurring events are all based off the same event post. As a result, My Tickets doesn’t work with recurring events in My Calendar.

If I visit the ‘Tickets’ or ‘Receipts’ pages, I end up on the Purchase page. What’s happening?

The Tickets and Receipts pages are only for displaying purchased tickets or purchase receipts. If no valid ID for one of those resources is included, then they’ll redirect to the shopping cart.

How do I scan QR Codes for events?

You can use any QR Code scanning app for a mobile phone or other mobile device with a camera. In order to get the ticket status confirmation, you’ll need to be connected to a network.

Is the “number of tickets available” field required?

Yes. My Tickets won’t sell an unlimited number of tickets for an event; in order for My Tickets to sell anything, you need to specify how many tickets it’s allowed to sell.


05 İyul 2023 1 reply
Ever since this new plug-in update i am not able to edit my website. The happiness engineer said it was an issue with this plug-in update. Have tried to contact Joe via the forum but no response. Am going to cancel my Wordpress account if I can’t get this fixed.
11 Fevral 2022 1 reply
Very impressed with this plugin. We use it for ticketing to events and a visitor attraction. It’s easy to set up a new event, set different prices for different categories of visitors, get reports on how many have booked in. We use the Stripe add-on, so money goes straight into the bank account, less Stripe’s fees of course. On the gate, the QR code scanning works perfectly, and the system can be accessed on a phone – if someone has booked their ticket while waiting in the queue, you can get into the system in real time and check what they have booked. We did have some problems in the early stages with some software bugs, but Joe gives exemplary support – he gets back to you quickly, and because he built the system he know the issues and context. It might be nice to have easy ways to customize the appearance of the tickets sent out, and of other messages, but this is a trivial detail – other systems are weighed down with stupid eye-candy that does not improve the functionality, but leaves lots of places for bugs to lurk.
12 Avqust 2020 5 replies
I have been testing various ticketing plugins, My Tickets really stands out. Lightweight, well thought out, simple but with the right features. Great work. Taxes is the only option missing for me. I need two different ones. I will include taxes in the total price and have succeeded in displaying tax details in the receipt template by including some of the functions found in mt-templating.php. A minor improvement would be currency symbol positioning, as I need the dollar symbol to be placed after the amount with a space (French standard). Overriding currency symbol by manual input would also be useful (for CAD, ‘C $’ is confusing for my users, just need ‘$’).
20 Mart 2019 1 reply
Thanks a lot for the development of this nice plugin, it helps solve my demands for event management once and for all. I have downloaded many other event management plugins, but for the registration, especially the bar code email notification part, every plugin will ask for premium upgrades. Although I fully support that every developer should get paid for their work, but they should state it clearly in their plugin introduction. But for My Tickets, what it can do is exactly what it states in the description. JOE DOLSON, Thanks for your great work.
Read all 27 reviews

Contributors & Developers

“My Tickets” is open source software. The following people have contributed to this plugin.


“My Tickets” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “My Tickets” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Change: Add cache-control headers to prevent browser caching of cart pages.
  • Bug fix: Fix minor misnamed variable reference.


  • Bug fix: Misnamed variable in ticket templates displayed wrong expiration date for fixed date events.
  • Bug fix: Cart handling charges generated error in offline payments.


  • Feature change: Extend General Admission tickets to set specific expiration dates.
  • Feature: Option to ignore cart-wide ticket handling fees for specific gateways.
  • Feature: Add autocomplete on move ticket feature.
  • Bug fix: No default padding on cart handling costs.
  • Bug fix: Incorrect permission check for ticket check-in in admin.
  • Bug fix: Setting the number format in the total paid field breaks values with thousands separators.
  • Bug fix: Counting error after moving tickets between events.
  • Change: Add payment gateway into purchase report download.
  • Change: Change default colors to use WordPress palette colors.
  • Change: Default event report changed to purchases & download instead of tickets & view.


  • Bug fix: Stripslashes before sending payment confirmation to PayPal.
  • Improve: Prefix some invalid nonce errors.


  • Bug fix: List of payment tickets sourced from event instead of payment.
  • Change: refactor payment storage of ticket IDs.


  • Feature: UI to move tickets from one event to another on a payment.
  • Feature: Show tickets used in payments view.
  • Feature: Remove tickets from a payment.
  • Bug fix: Minor styling improvements for shopping cart.
  • Bug fix: Exit early if ticketing options do not exist.
  • Bug fix: Hide short cart when empty.
  • Bug fix: Correctly handle singular/plural values in quick cart.
  • Change: Add script debugging to break caches on styles and scripts.
  • Change: Style – wider price column.
  • Change: Expand information shown on verification views. Props @masonwolf.


  • Bug fix: Avoid fixed-width fields.
  • Bug fix: Add step to attribute whitelist on inputs.
  • Bug fix: Two untranslatable strings.
  • Bug fix: Delete button on ticket pricing never appeared due to mismatched variable types.


  • Security: Fix payment bypass vulnerability in offline payments. Props @yuyudhn/Patchstack Alliance.
  • Bug fix: Dashicons used by not required by cart CSS.
  • Bug fix: Update copyright date.


  • Security: CSRF vulnerability in bulk emailing. Props @rezaduty/Patchstack Alliance.
  • Feature: Allow users who have unsubscribed to event notifications to resubscribe.
  • Feature: Import/export plugin settings.
  • Change: Modernize some display CSS.
  • Change: Use dashicons for cart buttons instead of characters.
  • Bug fix: Payments post type should only be viewable to users with mt-view-reports.
  • Bug fix: ticket ID should not be a required function parameter in mt_ticket_event_notes().
  • Bug fix: If required pages are not publicly available, direct user to edit screen, not settings.


  • Change: Modernize CSS & HTML wrappers for custom and native add to cart fields.
  • Bug fix: textarea field in event data sanitized as text input, removing line breaks.
  • Bug fix: custom field data not showing in reports by date range.
  • Security: Prevent ticket forging by displaying ticket type and price on QR code verification. Props Michael Jaegers.


  • Bug fix: Verify is_main_query() before displaying the cart.
  • Bug fix: [my-payments] shortcode had misnamed parameters, breaking shortcode attributes and default values.
  • Bug fix: [my-payments] shortcode allowed users to access tickets before payment was completed.
  • Bug fix: Custom fields added through mt_cart_custom_fields filter not shown in email templates.
  • Bug fix: Current value incorrect in mt_shipping_countries filter.
  • Bug fix: Custom field data for public users did not save string values correctly, only arrays and integers.
  • Bug fix: Wrong variable passed to format tickets prevented ticket generation during notification creation.
  • Added: Support for Czech Koruna in default currencies.
  • Added: Link to view cart in admin bar.
  • Change: Admin bar links only visible to users with cart management capabilities.


  • Bug fix: Fatal error in shipping countries filter.

  • Bug fix: Possible fatal error if total_paid is not a float value.
  • Bug fix: Missing tr in error log entries.
  • Bug fix: Set version numbers for all scripts and styles.
  • Bug fix: Correct missing & incorrect textdomains.
  • Bug fix: Show payment gateway used in payments list.
  • Bug fix: When a general admissions ticket is verified, don’t display internal event date value.
  • Bug fix: Undefined key in bulk ticket views.
  • Bug fix: Unpassed required variable in bulk ticket views.
  • Change: Set input mode on numeric entries to triger iOS keypads
  • Change: Order general admission ticket validity lengths in time order.
  • New: Start documenting actions and filters.
  • New: filter on shipping countries array.


  • Bug fix: If ticket price is greater than 1,000, cart calculations broke due to thousands separator.
  • Bug fix: PHP warning thrown if $type not an array.
  • Bug fix: Tickets remaining needs to be present in DOM for JS calculation purposes, even if hidden.
  • Change: Confirmation message that ticket usage has been saved.


  • Feature: Change ticket check-in status from Payment admin.
  • Update tested to value.


  • Bug fix: Prevent ticket settings from being edited on My Calendar group editing screen
  • Feature: Setting to configure redirecting to cart after add to cart.
  • Feature: New template function mt_ticket_event_notes() to get event-specific notes on ticket templates.
  • Change: Minor style change to front-end button CSS.
  • Change: Admin notice if any of the core display pages are not published or assigned.


  • Bug fix: trim() called on array value PHP error fixed.
  • Bug fix: Error in test to determine whether a ticket is General Admission or not.
  • Bug fix: Don’t set a default value for event validity if ticket is not General Admission.
  • Bug fix: URL Encode postback to PayPal to support special characters stored at PayPal.


  • Bug fix: Checkbox to sell tickets only appeared if GET parameter set.


  • Bug fix: undefined array key in cart if collect shipping not set.
  • Bug fix: Checkbox event to sell tickets only registered if tickets panel open.
  • Change: CSS updates for premium plugin features


  • New: General Admission ticketing.
  • New: Collect VAT numbers at checkout.
  • New: Set close date to take a ticket type off sale. E.g. early bird sales.
  • New: shortcode [my-payments] to allow logged-in purchaser to view their ticket history.
  • Bug fix: Automatically enable offline payment if cart price is 0.
  • Change: allow multiple email addresses in ‘Send to’ field.
  • Filter: mt_price_in_label move ticket price into label element.


  • Bug fix: Strip slashes in mass emails.
  • Bug fix: Better notification on mass email tests.
  • Bug fix: Show email text in fields after sending test.
  • Bug fix: Fix PayPal postback values.
  • Change: Handle PayPal IPN via purchase page, not home page.
  • Change: Render ticket verification via purchase page, not home page.


  • Bug fix: Prefix generic CSS class ‘controls’
  • Bug fix: misnamed variable in email validation.


  • Bug fix: HTML wraps link in event title even when email HTML disabled.
  • Bug fix: PayPal verification may not be all caps.
  • Bug fix: Default gateway doesn’t retain selection.


  • Bug fix: Disallowed name attribute on textarea
  • Bug fix: Fatal error on PHP 8 if handling is a string.


  • Bug fix: two instances of a misnamed function.


  • Bug fix: One string replacement placeholder mistyped in receipts template.


  • Security: XSS vulnerability due to unsanitized email address.
  • Security: Plug-in wide security review and hardening.
  • Standards: Use WordPress standard methods for stylesheets and scripts throughout plug-in.
  • Bug fix: Required address fields should be labeled as required.
  • Bug fix: Add language attributes and doctypes to custom templates.
  • Change: New QRCode library (
  • Change: Transition error log to log all transactions.
  • Change: QRCode template function now has a getter (mt_get_ticket_qrcode()).


  • Bug fix: Custom field values overwrite the purchase value field in reports.


  • Add important to some key mobile CSS.
  • New: Setting to configure symbol order in money formatting.
  • Bug fix: [remaining] shortcode incorrectly checked the variable type passed as event ID.
  • Bug fix: Add scripting to check and verify required fields when custom fields added.
  • Bug fix: Change time period for default reports lists from one month to two years.


  • Bug fix: typo in option index for cache refreshing.
  • Bug fix: reversed needle and haystack in in_array verification.
  • Change: default number of events shown in select list for reports from 50 to 100.


  • Bug fix: Accidentally overwrote the total sales value when parsing sales by date.


  • Use autocomplete for name, email, and address fields.
  • Bug fix: Don’t prevent down arrow in number fields.
  • Bug fix: Directly passed report IDs not shown in report dropdowns.
  • Add cache busting for common caching plugins whenever cart, user meta, or cookies are updated.
  • Bug fix: Retain name & email when a user goes back to edit their cart.
  • Display: Stylesheet changes. Additional classes.


  • Bug fix: Use COOKIEPATH instead of SITECOOKIEPATH. (See also 1.0.5. D’oh.)
  • Bug fix: Handle situation where negative value ticket counts are passed to cart & payment.
  • Bug fix: Don’t cast ticket counts using absint
  • Bug fix: Don’t allow setting ticket counts to negative values.
  • Change: Ticket verification styles. (Core colors, font sizing, used indicator.)


  • Critical bug fix: error in unique ID cookie setting.


  • Improved bug fix for removing events when ticket counts set to 0.
  • Bug fix: Duplication of event IDs also needs to be handled in notifications.
  • Add debugging log visible on payment screen when MT_DEBUG true.


  • Bug fix: If purchase data array gets duplicated, can yield double-processing of tickets.
  • Bug fix: Ensure that event is removed from purchases when ticket count set to 0.
  • Bug fix: Prevent submission of cart to payment if cart update still processing.
  • Change: Move marking of ticket delivery into notifications process.
  • Change: Support SameSite parameter when setting cookies on PHP 7.3.0+
  • Begin enriching debugging process.


  • Bug fix: Variable assigned to non-existent value in user data checking.


  • Bug fix: Use of ‘is_int’ instead of ‘is_numeric’ on value not of integer vartype broke purchase form.


  • Bug fix: ‘Sell tickets on this post’ showing up twice in some contexts.
  • Bug fix: Changed attr to prop, but didn’t change the value checked.
  • Bug fix: Change cart update button CSS to better meet WCAG 2.1 requirements for click target size.
  • Bug fix: json_decode should only run on strings.
  • Bug fix: Verify variable type when checking availability.


  • Version bump due to failing to add prior tag before committing.


  • Ensure value matching uses the same variable type.
  • Query checked property instead of attribute.
  • Add [remaining] shortcode to display tickets remaining for an event.


  • Bug fix: notice thrown when event ID exists in array, but data is not an array.
  • Bug fix: mt-sold-out class needs to be reset in discrete counting.
  • Feature: Send test email from Reports screen before emailing whole event.


  • Don’t double display currency symbol when symbol is same as currency code.
  • Add responsive table styles for cart.
  • Bug fix: don’t add offset when time saved.


  • Add event ID in a class on shopping cart row.
  • Missing occurrences of stripslashes() in settings fields.


  • Bug fix: Ensure that available tickets is an integer.
  • Filter change: Pass $type variable to the mt cart default filter.
  • Replace usage of current_time( ‘timestamp’ ) & date()


  • Bug fix: Mass emails should only send to sales with ‘Completed’ status.
  • Bug fix: Payment status on offline payments should reflect status as configured in admin.
  • Bug fix: Email addresses in PayPal should be compared with both converted to lower case.
  • Bug fix: Make purchase transaction notice only viewable for 5 minutes after purchase.
  • Change: Warn user if departing payment page without submitting purchase.
  • New filter: ‘mt_ticket_settings’ to filter configuration for a given ticket class on an event.


  • Only changes are code standards changes with strict comparisons.
  • This release is only being shipped because the 1.8.10 update produced a bad installation file (because I made a mistake in the commit.)


  • Bug fix: Using strict matching on PayPal values causing problems; need time to figure out why.


  • Accessibility: Ticket input fields labelling pattern incorrect.
  • Bug fix: type checking in strict comparisons when comparing pricing.
  • Bug fix: error checking receiver email in PayPal gateway.
  • Improvement: better error messages from PayPal gateway.
  • Design Change: Change cart table to three columns, collapsing ‘price’ and ‘count’ into ‘order’
  • Correct copyright date


  • Bug fix: Need to support payment gateways with no field settings.
  • Bug fix: checkbox gateway settings should not have line breaks after label.
  • Bug fix: Fixed logic error impacting application of discount codes.
  • Bug fix: Shipping not available as template tag or included in notification totals.
  • New filter: ‘mt_paypal_item_name’ to change the description passed to PayPal.
  • Change: move custom fields output above ticket type selector.


  • Bug fix: Non-numeric variable type used in math expression.
  • Bug fix: Ensure that default ticket logo is square, not overridden by theme’s post thumbnail shape.


  • Bug fix: Strict comparison requirement yielded incorrect check for sold out status.
  • Bug fix: Incorrect return value possible on sold out status
  • Bug fix: Show admin-only purchase statuses in Reports
  • Bug fix: Ensure handling is a float value so it can be operated on


  • Bug fix: Flaw in mt_has_tickets() function triggered false if any type of tickets had 0 remaining.


  • Discount notice showing when price unchanged
  • Add sequential ticket IDs to report
  • Add payment status to reports of tickets
  • Fix issue with remaining tickets in {ticket_status} template tag for My Calendar.
  • Add custom fields to reports by date as well as reports by event.


  • Bug fix: Ensure that discount calculations aren’t run twice.
  • Bug fix: Get Payment ID before totaling cart.
  • Bug fix: Check that values are numeric for shipping & handling before applying.
  • Change: Allow receipts to display when payments aren’t completed yet.


  • Add template tag for event status in My Calendar
  • Misc. minor bug fixes
  • Add class & wrapper to sold out ticket types
  • Bug fix: Missing payment total on receipts if shipping/handling applied.


  • Bug fix: Don’t attempt to return sold tickets to deleted events.
  • Bug fix: Incorrect headings hierarchy (used old WordPress headings system)
  • Bug fix: Label errors in Payments page


  • Add field to define custom selector label for offline payment gateway
  • Add aria-current support to gateway selector
  • Add default output for My Tickets [tickets] shortcode, showing upcoming events with ticket sales.
  • Add filter to customize default output for [tickets] shortcode, mt_default_ticketed_events
  • Change price input to number type
  • Add support for native bulk actions. (Available since WP 4.7)


  • Improvement: Pass field array to display_callback in fields API.
  • Feature: Send email notification when event is sold out.


  • Bug fix: If event has been deleted, exit early in payment UI.
  • Bug fix: Exit in ticket template if event does not exist.
  • Bug fix: Global $wpdb not declared on Help form.
  • New action: ‘mt_successful_payment’, executes prior to sending purchase notifications.
  • Style change on payment page
  • Text change on payment page
  • Add Privacy information to Help screen


  • Bug fix: ‘Sell tickets on this post’ checkbox appeared twice in post meta box
  • Bug fix: Don’t copy ‘sold’ value when copying My Calendar events
  • Bug fix: ‘adminitrators only’ notice not appearing on complimentary field.
  • New filter: mt_home_breadcrumb_url to change home link in breadcrumb path.
  • New display option: Sequential ticket IDs on ticket templates.


  • Increase prominence of sales & help sidebar blocks.
  • Update dashicon implementation for accessibility.
  • Missing ID on ‘Get Support’ heading.
  • Bug fix: Must exit after wp_safe_redirect
  • Bug fix: improve code locating wp-load for QR codes


  • Bug fix: execute discount calculation in cart data.
  • Bug fix: Ensure address is collected using PayPal if always collect address enabled.
  • New filters for discount handling.
  • Change: Update references to My Calendar template function.
  • Change: Pass payment ID in more contexts.


  • Bug fix: Tickets duplicated when offline payments completed.
  • Bug fix: Fix headers on date report CSV.
  • Bug fix: Delete both logged-in and logged-out carts if both exist after purchase.
  • Change: add additional parameters to some functions for filtering purposes.
  • Change: add email as output in date report CSV.
  • Add: mt_purchase_completed action on confirmation screen.


  • Bug fix: PHP notice due to incorrectly named variable.
  • Bug fix: Offline pending payments should still deliver tickets.
  • Change: exlude .mt-plugin class from cart button actions.


  • Bug fix: Further rewriting of offline payment handling.
  • Bug fix: Improve sending of email notifications
  • Change: Track prior status for transitions
  • Add filter: mt_ticketing_availability to filter ticket types available in a given cart. (


  • Bug fix: misc.issues in offline gateway
  • Change: unify behavior of offline gateway with other gateways to eliminate code exceptions and related issues…


  • Bug fix: offline payment better redirection
  • Code sniffing and conformance.
  • Button to remove ticket types.
  • Move development to GitHub


  • Bug fix: custom rules for custom fields filter awkwardly written.
  • Bug fix: if event has been deleted, do not attempt to handle tickets in cart.
  • Bug fix: missing second argument in the_title filter usage


  • Bug fix: hiding tickets missing $options variable.
  • Change ticket hiding logic to be more intuitive.


  • Bug fix: Incorrect body reassignment in bulk messaging
  • Added: logging of bulk messages sent
  • Added: logging of initial message sent to purchaser
  • Updated styling for message log


  • Bug fix: inappropriate usage of esc_attr_e on non-translateable string
  • Force TLS 1.2 in PayPal gateway (
  • Shift hiding tickets into single function for consistency.
  • Remove usages of ‘create_function’
  • Remove usages of ‘extract’
  • New template & template tag: bulk tickets. Print view of all tickets for a given purchase.


  • Bug fix: PayPal Merchant ID not rendered in 1.6.4


  • Compatibility fix: Polylang filtered queries such that tickets sold on events not in site default language were not visible
  • Bug fix: reports displayed incorrect total sales numbers
  • Bug fix: if there was no post object in global scope, toggle confirming whether to sell tickets did not appear
  • Bug fix: Member discounts were applied after Ticket handling charges were in ‘Add to Cart’ contexts
  • Added ‘required’ attribute for custom inputs.


  • Bug fix: Errors with counting ticket purchases when only single tickets are permitted.
  • Minor text changes in settings
  • Bug fix: error with display of remaining tickets count
  • Remove German translation in favor of version


  • Bug fix: logical error in shipping fee totals


  • Bug fix to reports: don’t display payments which 0 purchases applied to currently shown event
  • Bug fix: Hide remaining logic for discrete counting
  • Bug fix: unresolved PHP Notice saving ticket options
  • Bug fix: Total Paid registered incorrectly if shipping fee applied


  • New option: redirect to cart after adding tickets to cart
  • New option: Hide tickets when num. available falls below x
  • New option: Custom text that can be inserted in purchase notification per event
  • Display fixes: address information
  • Display purchase information after cart completion instead of “your cart is empty”
  • Minor text revisions
  • store mass email text in event post meta
  • Improve ticket number values when switched between discrete & continuous
  • Revise information shared in purchase reports for better clarity
  • New filter: mt_select_events_args to modify list of events in reports environment.
  • SECURITY: Reflected XSS vulnerability resolved


  • New function: check whether post ID is a ticketed event
  • Bug fix: render QR code like eticket on will call view
  • Bug fix: PHP 7 non-numeric value error
  • Bug fix: If deleting ticket types from an event, maintain data associations correctly.
  • Bug fix: PHP notice on payment settings screen
  • Bug fix: Now possible to fetch correct ticket type instead of doing type conversion witwp_mah str functions.
  • Bug fix: Show only statuses with relevant purchases in reports
  • Bug fix: Clarify what ‘price’ means in reports of purchases
  • Bug fix: removed HTML from CSV output of reports by date
  • Bug fix: incorrect arguments for My Calendar class filter
  • Minor layout tweaks in admin
  • Refined print view of reports
  • Moved ‘Notes’ field to final column of print view
  • Added column & cell classes for reports
  • Added toggles to disable columns in print reports
  • Added date/time to reports by date
  • Added ticket type to reports by date
  • Removed unused file mt-events.php
  • Make PayPal capable of handling IPN responses that are formatted as cart responses.
  • New filter: mt_the_title to change displayed title for events.
  • New permission: mt-order-comps; users with this capability can order complimentary tickets
  • New statuses for tickets: Turned Back, Waiting List, & Reserved (for admin use only)
  • Remove nl_NL language; .org language pack now shipped


  • Bug fix: disallow purchase of partial tickets
  • Feature: new message to be sent to purchasers with Offline payment in Pending status
  • Add ‘required’ attribute to address fields
  • Add double-entry for accurate email address


  • Add wrapper div & classes for soldout/expired buttons
  • Bug fix: sold out events using discrete ticket counting not displaying sold out text.


  • Bug fix: Add wrapping element around response container & form in add to cart
  • Bug fix: Display issue with multiple custom fields
  • Bug fix: Prevent invalid argument warning in mt-button.php
  • Add options for decimal and thousands separators in money formatting
  • Compatibility with WordPress 4.7


  • New action executed during ticket verification process ‘mt_ticket_verified’
  • Bug fix: checked in tickets did not appear in Payment admin
  • Bug fix: mt_format_purchase() exclude titles for events in cart but excluded due to expiration
  • Added: show checked in tickets in ticketing reports


  • Bug fix: accidental inclusion of JS from My Calendar caused dual occurrences in My Cal.
  • Bug fix: label & ID issue when multiple add to cart forms present.
  • Bug fix: checked value printed to page instead of in HTML
  • Add purchase ID function to Ticket templating
  • Add purchase ID function to Receipt templating
  • Add option to ask for shipping address without using postal tickets


  • Style change: Change post type selector to checkboxes, move to top of settings
  • Bug fix: Opt out URL for email contacts was invalid
  • Bug fix: Swapped CSV column headings in reports
  • Added: filter to modify opt out message texts.
  • Pass event_id when calculating discounts


  • Bug fix: undefined variable notice in custom fields API
  • Bug fix: receipt ID could be changed to an invalid value when post updated in admin
  • Bug fix: custom fields repeated in notifications
  • Bug fix: remove custom ticket fields from payment custom fields list (shown in formatted purchase data)
  • Tested for WordPress 4.6


  • Improvement: CC admin on mass emails.
  • Bug fix: process custom field template tags better in email templates (associated with events)
  • Bug fix: incorrect payment ID passed to purchase generation when sending notifications
  • Bug fix: Reports permissions did not grant non-admins access to reports
  • Add option to hide tickets remaining count in settings
  • Add notice in payment settings while in testing mode.


  • Bug fix: Only display default ticket/receipt content to users with ability to edit it.
  • Bug fix: refund processing called price matching function, which threw an error.
  • Bug fix: calling receipt ID in tickets template filter instead of ticket ID
  • New template function: mt_get_ticket_custom_field( $fieldname, $display_callback );
  • New template tag: {buyer_email}
  • Filter a ticket type as admin-only using ‘mt_admin_only_ticket’ [currently only supports free tickets]


  • Bug fix: Don’t send offline payment notices until after shipping info has been entered, if required.


  • Bug fix: deprecated function add_object_page
  • Bug fix: deprecated function get_currentuserinfo
  • Feature: new template tag {gateway_notes} and fields associated with gateways to save custom notes per gateway.


  • Bug fix: Mass email always used first value for {name} replacement
  • Bug fix: If payment price is zero (only free events being reserved) mark payment as complete
  • Bug fix: Refresh closure meta data if tickets closing time is updated.


  • Bug fix: Fixed PHP notice if no ‘multiple’ value registered in defaults array
  • Bug fix: Correct pricing shown on cart update if user is logged in and receiving a discount on tickets
  • Add: widget to display live cart updates (supports selective refresh)
  • Change: post meta value for My Calendar events to indicate whether tickets are being sold. May cause ticket forms to be hidden after event edit.


  • Add support for additional input types in Payment Gateway settings
  • Support for fetching name and email from pending payment info on credit card error
  • Bug fix: PHP notice on error messages
  • Bug fix: Receipts on refunded payments didn’t indicate that payment was refunded.
  • Improvements to currency handling
  • Better support for zero decimal currencies
  • Bug fix: Collect shipping information when postal tickets ordered with offline payment.
  • Improved visibility if money owed on purchase.


  • Send email notification in case of WP error in PayPal processing.
  • Bug fix: license activations for Premium add-ons
  • Bug fix: duplicate creation of tickets when re-sending notification emails


  • Bug fix: Failed to check for EDD class presence before including
  • Bug fix: Misc. PHP notices in reports
  • Bug fix: corrected spelling of complimentary tickets. Guh.


  • Provide links to either download purchases or tickets in closure notification email
  • Add filter to convert input type used with add to cart form.
  • Add support for EDD-driven auto updates in premium add-ons


  • Remove a few more instances of ‘money_format()’


  • Add filter on currency types.
  • Bug fix: callbacks in fields API generated error if invalid function defined by user
  • Bug fix: stop using money_format entirely due to currency locale issues.
  • Bug fix: issue with possible invalid argument in admin ticket creation
  • Clarification: add reference for PayPal IPN URL value.
  • Added Help tabs on the ticketing defaults settings page to answer some common questions.
  • Miscellaneous text clarifications


  • Feature: Ability to select default ticketing type when multiple are available
  • Feature: option to use external link to add event tickets to cart. Format: /?mt_add_to_cart=true&event_id=POSTID&ticket_type=TYPE&count=COUNT
  • Bug fix: not saving correctly when multiple events sold in one cart order
  • Bug fix: handling values properly if purchase submitted with no numeric value; prevent empty values in form
  • Bug fix: Make sure that payment checks are non-negative values.
  • Bug fix: For consistent display, ensure that monetary locale is null when generating money format.
  • Bug fix: Incorrect custom field data in purchase reports


  • New filter: ‘mt_button_legend_text’ to edit ‘Buy Tickets’ legend
  • Add note to mention need to enable IPN on PayPal
  • Bug fix: Don’t create additional copies of tickets when admin saves edits to Payment
  • Bug fix: display ticket ID on both print & e-tickets
  • Bug fix: custom fields not saved in admin creation of payment


  • Bug fix: debugging query left in place in autoupdates class
  • Bug fix: more reliable deletion of user data
  • Bug fix: Not possible to disable ticket sales if created unintentionally
  • Bug fix: No longer possible to sell tickets for My Tickets cart pages


  • Bug fix: Something broken on Payment settings page. No idea what it was…


  • Fixes to automatic updating class for premium plugin license holders
  • Add label to shortcode textarea for context.
  • Expand FAQ.
  • Pass provided purchaser name into PayPal item information.