Get Plugin

Pdf Tickets

PDF Tickets

Generate printable tickets for attendees. Each ticket includes event details, attendee information, and a QR code for check-in.

How PDF tickets work

When customers purchase event tickets:

  • Order completes
  • Attendee records are created
  • Unique ticket codes generate
  • QR codes become available
  • Customers can view and print tickets
Tickets are generated on demand when viewed or downloaded.

Ticket contents

Each PDF ticket includes:

Header

  • Your site logo (if set)
  • "Ticket" label
  • Ticket code

Event information

  • Event name
  • Date and time
  • Venue name and address

Attendee information

  • Attendee name
  • Email address
  • Custom field data (if collected)

QR code

  • Scannable code for check-in
  • Contains the ticket code
  • Works with the built-in scanner

Footer

  • Event organizer details
  • Ticket terms (if configured)

Accessing tickets

Customer view

Customers access tickets from My Account > My Tickets:

  • List shows all purchased tickets
  • Click a ticket to view details
  • Click Print Ticket for PDF
  • QR code displays on screen for mobile check-in

Admin view

Admins can access tickets from:

Individual Ticket

  • Go to Events > Attendees
  • Click an attendee
  • Click Download Ticket
Bulk Download
  • Go to Events > Attendees
  • Filter by event
  • Click Download All Tickets
  • Get a ZIP file with all tickets

Customization

Site logo

The ticket uses your WordPress site logo:

  • Go to Appearance > Customize > Site Identity
  • Upload a logo
  • Tickets automatically use it

Ticket colors

The default design uses your theme's primary color. Filter to customize:

add_filter( 'emwc_pdf_ticket_primary_color', function( $color ) {
    return '#FF5722'; // Your brand color
} );

Ticket template

Override the entire ticket design:

  • Copy templates/ticket.php to your theme
  • Modify the HTML structure
  • The plugin uses your custom template

Content filters

Modify specific ticket sections:

// Add content before event details
add_action( 'emwc_ticket_before_event', function( $attendee ) {
    echo '<p>Special message here</p>';
} );

// Add content after QR code
add_action( 'emwc_ticket_after_qr', function( $attendee ) {
    echo '<p>Please arrive 15 minutes early</p>';
} );

Delivery options

My account download

Default method. Customers download tickets themselves:

  • Complete purchase
  • Go to My Account
  • Click My Tickets
  • Download PDF

Email attachment

The Ticket Delivery email includes ticket information. For PDF attachment:

// Add PDF to ticket delivery email
add_filter( 'emwc_ticket_email_attachments', function( $attachments, $attendee ) {
    $pdf_path = emwc_generate_ticket_pdf( $attendee->id );
    $attachments[] = $pdf_path;
    return $attachments;
}, 10, 2 );

Admin distribution

For events where you distribute tickets:

  • Download all tickets as ZIP
  • Print tickets
  • Distribute at event or mail ahead

Tickets are designed for printing:

  • Standard letter/A4 size
  • High contrast for readability
  • QR code sized for reliable scanning
  • No background images (saves ink)

Printing tips

  • Use standard paper (no special stock needed)
  • Print in black and white (QR codes work fine)
  • Test scan before event
  • Have backup list for failed prints

Mobile tickets

Customers can show tickets on their phone:

  • Open My Tickets in My Account
  • Display the QR code on screen
  • Scan directly from phone
No PDF needed for mobile check-in. The on-screen QR code works with the scanner.

QR code details

Code content

The QR code contains only the ticket code (like EMWC-ABC123DEF). No personal information is encoded.

Code generation

QR codes use the QR Server API:

  • Fast generation
  • No server load
  • Reliable service
  • No API key required

Scanning

Any QR code scanner can read the ticket. The built-in check-in system validates the code against attendee records.

Multiple tickets

Per order

When customers buy multiple tickets:

  • Each ticket gets a unique code
  • Each ticket generates a separate PDF
  • My Tickets shows all tickets from the order

Group tickets

For tickets with multiple persons:

  • One ticket code covers the group
  • PDF shows "Admits X people"
  • One scan checks in the group

Troubleshooting

PDF not generating

  • Check PHP memory limit (increase if needed)
  • Verify file permissions on temp directory
  • Test with a single ticket first

QR code not scanning

  • Ensure good print quality
  • Check phone camera focus
  • Try increasing screen brightness
  • Use manual entry as backup

Wrong information

  • Check attendee record for correct data
  • Verify custom fields saved properly
  • Re-download after fixing data

Missing logo

  • Verify logo is set in Customizer
  • Check logo file is accessible
  • Logo should be PNG or JPG format