Waiting List

You’re busily selling tickets for your event, and – bang! You’re all sold out! That’s awesome. But we all know that things change! People cancel their tickets, they want to change to another date, and suddenly your sold out event has 10 spots available. With the My Tickets Waiting List extension, as soon as your event sells out, the form is automatically converted over to start a waiting list for your event.


Purchase My Tickets: Stripe to use the easy and secure payment gateway as a way for your visitors to use their credit card and make purchases. Stripe is a great platform for handling payments, and is (relatively) easy to set up.

(Hey, it’s a payment gateway. None of them are actually easy.)


Purchase My Tickets: Donations to allow ticket purchaser to make a donation while they purchase their tickets. If you’re operating a non-profit organization, event tickets are rarely enough to cover your events on their own; providing the option for users to add a donation to their purchase without requiring a separate checkout process can help improve your bottom line.


Purchase My Tickets: Discounts to support the creation and acceptance of discount codes. With this add-on, you can create custom discount codes to use in promoting your events and providing segmented discounts to groups of your customers.

Discount codes are added to the bottom of the shopping cart, and can be applied, removed, and updated. Codes are not case-sensitive, to ensure that they’re easy for your users to enter correctly.


There are two key shortcodes available for My Tickets. There’s a basic shortcode to display the ‘Add to Cart’ form for a single event:

[ticket event='{ID}']

This shortcode is displayed in the settings when you create a ticketed event, and you can paste it anywhere to render an add to cart form for that event. You don’t need to use it on the event page itself, although you certainly can.

The second shortcode is for displaying a collection of tickets:

[tickets events='14,29,38' template='<h3>{post_title}: {event_begin format="l, F d"}</h3><p>{post_excerpt}</p>']

This shortcode will render the add to cart forms for the IDs provided, using the template provided. The example above is the default, and is what you’ll see if you don’t use the template attribute. The registration form itself will appear after the templated data. The entire output will be wrapped in a div element with the class mt-event-item.

Quick Start Guide

To start using My Tickets, follow these steps:

  1. Do you create a new Page for events? Then you’ll want to sell Tickets on Pages. Go to My Tickets > Settings. Check off ‘Pages’ in the check boxes for available post types. My Tickets supports any post type, but is not enabled by default.
  2. Go to My Tickets > Payment Settings. If you want to collect payment when ticket holders arrive at your event, you can leave the ‘Offline’ payment gateway enabled. You’ll need to collect payments when your guests arrive. To collect payment automatically, you’ll need to enable another gateway and enter your payment information for that gateway. PayPal Standard is available with the free plug-in, or purchase premium gateways for Stripe and Authorize.net.
  3. Enable “Testing mode” at My Tickets > Payment Settings to run transactions without processing payments.
  4. Go to Pages > Add New and add a new Page for your event. On that page, check the box labeled “Sell Tickets on this post.”
  5. Fill in the fields for your event. The defaults that are set up from the beginning are set at My Tickets > Ticket Settings. Those defaults are useful if most of your events use the same settings, but you can customize them on every event. Tickets won’t be available for sale unless:
    • there’s an event date and time set,
    • a specific number of tickets available,
    • and a price set for at least one type of ticket.
  6. You’ll notice an option for Complimentary tickets. These tickets aren’t available for most users – only users with permissions to manage the box office (administrators, by default) are able to see complimentary ticketing.
  7. View your newly saved page. You should see a panel to add tickets to your cart. Add some tickets to your cart.
  8. Follow the link to go view your cart. If you’re logged in as an administrator, you’ll have two options from here: you can either proceed through the purchase process, or you can click through and generate a new payment with the information in that cart. That’s also an option only available to box office managers, which gives you the ability to easily add sales that you take over the phone or in person at your box office facility, if you have one.

When a purchaser makes a purchase, a Payment is created in the back-end. It is marked as ‘Pending’ until payment is completed. With offline payments, you’ll always need to mark the payments as completed manually, when you receive payment. With online payments, they should be marked as completed as soon as the payment finishes processing. That’s usually very close to instantaneously, unless a Paypal payment is accepted that’s using an eCheck. In that case, it could take 3-7 days to complete.


My Tickets has been written to be as accessible as I can make it — it uses ARIA live regions to ensure that shopping cart feedback is immediately available to those who need it, uses solid, semantic HTML markup, and considers all the best practices for form labeling.

Accessibility is a priority for me, and is one of my primary focuses in development – but that doesn’t mean that I’ve caught every possible issue! If you find an accessibility issue, please do report it to me like any other issue – it’s a bug, and it needs to be fixed!

Quick Cart

The “Quick Cart” shows the number of tickets currently in a visitor’s shopping cart and the total price of their cart, with a link to check out. By default, it looks like this:

In your cart: 7 tickets | $56.00 | Checkout

Like everything else in My Tickets, the default CSS is very spartan, to allow you to customize easily, without needing to override existing styles. The HTML, however, has many available hooks for you to use for your own design needs.

<div class='mt-quick-cart' aria-live='polite'>In your cart: <span class='mt_qc_tickets'>7</span> tickets
	<span class='divider'>|</span> 
	<span class='mt_currency'>$</span><span class='mt_qc_total'>56.00</span>
	<span class='divider'>|</span> 
	<a href="http://docs.joedolson.com/purchase/">Checkout</a>