My Tickets
My Tickets
Buyers need a place to see their ticket purchases, check statuses, and request refunds. The My Tickets page gives logged-in users a personalized view of all their attendee records across every event. You add it to any page with a shortcode, and it handles the rest — status badges, check-in indicators, security codes, and refund eligibility.
Adding the My Tickets Page
Place the [tec_my_tickets] shortcode on any WordPress page:
- Create a new page (or edit an existing one) in your WordPress admin.
- Add a Shortcode block (or paste directly in the Classic Editor).
- Enter
[tec_my_tickets]. - Publish the page.
The shortcode renders a list of the logged-in user’s attendee records. Add this page to your site’s navigation so buyers can find it easily.
What Buyers See
Each ticket entry in the list displays:
| Field | Description |
|---|---|
| Event name | The event title, linked to the event page |
| Event date | When the event takes place |
| Ticket name | The type of ticket purchased (e.g., General Admission, VIP) |
| Status badge | A color-coded badge showing the attendee status (completed, refunded, cancelled, etc.) |
| Security code | A unique code for check-in verification at the door |
| Check-in status | Whether the attendee has been checked in at the event |
| Request Refund | A link to submit a refund request, shown only when the ticket is eligible |
Tickets are listed in reverse chronological order, with the most recent purchases at the top.
Refund Eligibility
The Request Refund link appears next to a ticket only when all three conditions are met:
- The attendee status is completed (not already refunded, cancelled, or pending).
- The event has not yet passed.
- The purchase falls within the refund window (default: 30 days after purchase).
When the buyer clicks Request Refund, they are taken to a form to submit their request. See Refunds & Cancellation for the full refund workflow.
Login Requirement
The My Tickets page requires the visitor to be logged in. If a guest (not logged in) visits the page, they see a login prompt with a link to the WordPress login page. After logging in, they are redirected back to the My Tickets page.
For buyers who checked out without an account, see Guest Checkout for how they access their tickets using a token-based URL.
REST API
The My Tickets data is also available through the REST API for custom frontend implementations or mobile apps:
Endpoint: GET /tribe/tickets/v1/my-tickets
This endpoint requires authentication. It returns the current user’s attendee records with event details, ticket information, status, and check-in data. The response format matches the data displayed by the shortcode.
Template Customization
The My Tickets output is rendered by templates in the plugin’s templates/my-tickets/ directory. Override these templates in your theme by creating matching files at your-theme/tickets-please/my-tickets/.
The template parts include the ticket list wrapper, individual ticket cards, status badges, and the empty state (displayed when the user has no tickets).
Common Questions
Can buyers see tickets purchased by someone else for them? The My Tickets page shows attendee records linked to the logged-in user’s ID. If an admin manually assigns an attendee record to a different user, that record appears on the assigned user’s My Tickets page.
What does the security code do? The security code is a unique identifier for each attendee record. Event staff can use it to verify tickets at the door during check-in, either manually or with the admin check-in interface.
Can I add custom fields to the My Tickets display? Yes. Override the template in your theme and add any attendee meta fields you need. If you are using Gravity Forms for attendee data collection, those field values are stored as attendee meta and can be displayed in the template.
Does the page auto-refresh to show status changes? No. The page loads the current status on each visit. If an admin changes an attendee’s status (e.g., approves a refund), the buyer sees the updated status the next time they load the page.
Can I rename the shortcode?
The shortcode name [tec_my_tickets] is fixed. If you want a different URL path, just place the shortcode on a page with whatever slug you prefer (e.g., /my-account/tickets/).
Is there a widget version?
Not currently. Use the shortcode on a page. For sidebar or footer placement, you can use a WordPress Shortcode widget block with [tec_my_tickets].
Next Steps
- Guest Checkout — token-based ticket access for buyers without accounts
- Refunds & Cancellation — the refund request workflow from the buyer’s perspective
- Order Confirmation — what buyers see immediately after checkout