Customise Ticket Email

Home Forums Ticket Products Event Tickets Plus Customise Ticket Email

Viewing 15 posts - 1 through 15 (of 26 total)
  • Author
    Posts
  • #1334494
    Hassan Jiwani
    Participant

    1) How can I add my Logo on the Email Ticket to the top
    2) How do i set the page size to A4, so its easier for customers to print their ticket?

    #1334936
    Victor
    Member

    HiĀ Hassan!

    Thanks for reaching out to us! šŸ™‚

    Let me help you with those topics.

    1. You can add your logo to the ticket email by customizing the email.php template file. We have a great article that explains how to do that here >Ā https://theeventscalendar.com/knowledgebase/themers-guide/

    2. Unfortunately, there is no direct way of doing this as CSS styles are sometimes stripped out by certain email application and webmail providers, such as Gmail, so there isn’t any guaranteed way to force custom styles to render across all platforms. We do have an extension that will allow your users to download the ticket as a PDF, making it easier to print. See it here >Ā https://theeventscalendar.com/extensions/view-print-download-pdf-tickets/

    I hope that helps! Is there anything else I can help you with? Let me know.

    Best,
    Victor

    #1335346
    Hassan Jiwani
    Participant

    What other plugin can i use apart from DK PDF plugin?
    as my header image is not appearing, and the custom template i created for the ticket email the things i changed are not appearing in the PDF, its showing the original template.

    #1335861
    Victor
    Member

    HiĀ Hassan!

    Unfortunately, the extension only works with the DK PDF plugin.

    I’m sorry you are experiencing problems with your custom ticket email template.

    Are you able to see your customized ticket email template in the email sent? Are you making a template override for it? If so, could you please share it with us so I can make some tests on my end and see if I can find anything?

    Thanks,
    Victor

    #1335936
    Hassan Jiwani
    Participant

    Yes I followed the instructions and did an email template overide.

    Here Attached is a print screen of the email,
    and here is what it looks like in pdf

    #1335979
    Victor
    Member

    HiĀ Hassan!

    Thanks for sharing those screenshots.

    That is something the PDF plugin itself is not picking up when generating the PDF ticket. Could you please share with us the code you are using to customize the ticket email?

    We are limited in how much support we can give for custom development questions like this, but I’d be happy to take a look at your code to make some tests and help as much possible.

    Let me know about it.

    Best,
    Victor

    #1335991
    Hassan Jiwani
    Participant

    <?php
    /**
    * Tickets Email Template
    * The template for the email with the purchased tickets when using ticketing plugins (Like WooTickets)
    *
    * Override this template in your own theme by creating a file at [your-theme]/tribe-events/tickets/email.php
    *
    * This file is being included in events/lib/tickets/Tickets.php
    * in the function generate_tickets_email_content. That function has a $tickets
    * array with elements that have this fields:
    * $tickets[] = array( ‘event_id’,
    * ‘ticket_name’
    * ‘holder_name’
    * ‘order_id’
    * ‘ticket_id’
    * ‘security_code’)
    *
    * @package TribeEventsCalendar
    * @version 4.5.3
    *
    */
    ?>
    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
    <html xmlns=”http://www.w3.org/1999/xhtml”&gt;
    <head>
    <meta http-equiv=”Content-Type” content=”text/html;charset=UTF-8″ />

    <p style=”text-align: center;”><span style=”font-size: 14pt;”>Your Event Ticket Portal To The Best Events In Town</span>
    <title><?php esc_html_e( ‘Your tickets’, ‘event-tickets’ ); ?></title>
    <meta name=”viewport” content=”width=device-width” />
    <style type=”text/css”>
    h1, h2, h3, h4, h5, h6 {
    color : #0a0a0e;
    }

    a, img {
    border : 0;
    outline : 0;
    }

    #outlook a {
    padding : 0;
    }

    .ReadMsgBody, .ExternalClass {
    width : 100%
    }

    .yshortcuts, a .yshortcuts, a .yshortcuts:hover, a .yshortcuts:active, a .yshortcuts:focus {
    background-color : transparent !important;
    border : none !important;
    color : inherit !important;
    }

    body {
    background : #ffffff;
    min-height : 1000px;
    font-family : sans-serif;
    font-size : 14px;
    }

    .appleLinks a {
    color : #006caa;
    text-decoration : underline;
    }

    @media only screen and (max-width: 480px) {
    body, table, td, p, a, li, blockquote {
    -webkit-text-size-adjust : none !important;
    }

    body {
    width : 100% !important;
    min-width : 100% !important;
    }

    body[yahoo] h2 {
    line-height : 120% !important;
    font-size : 28px !important;
    margin : 15px 0 10px 0 !important;
    }

    table.content,
    table.wrapper,
    table.inner-wrapper {
    width : 100% !important;
    }

    table.ticket-content {
    width : 90% !important;
    padding : 20px 0 !important;
    }

    table.ticket-details {
    position : relative;
    padding-bottom : 100px !important;
    }

    table.ticket-break {
    width : 100% !important;
    }

    td.wrapper {
    width : 100% !important;
    }

    td.ticket-content {
    width : 100% !important;
    }

    td.ticket-image img {
    max-width : 100% !important;
    width : 100% !important;
    height : auto !important;
    }

    td.ticket-details {
    width : 33% !important;
    padding-right : 10px !important;
    border-top : 1px solid #ddd !important;
    }

    td.ticket-details h6 {
    margin-top : 20px !important;
    }

    td.ticket-details.new-row {
    width : 50% !important;
    height : 80px !important;
    border-top : 0 !important;
    position : absolute !important;
    bottom : 0 !important;
    display : block !important;
    }

    td.ticket-details.new-left-row {
    left : 0 !important;
    }

    td.ticket-details.new-right-row {
    right : 0 !important;
    }

    table.ticket-venue {
    position : relative !important;
    width : 100% !important;
    padding-bottom : 150px !important;
    }

    td.ticket-venue,
    td.ticket-organizer,
    td.ticket-qr {
    width : 100% !important;
    border-top : 1px solid #ddd !important;
    }

    td.ticket-venue h6,
    td.ticket-organizer h6 {
    margin-top : 20px !important;
    }

    td.ticket-qr {
    text-align : left !important
    }

    td.ticket-qr img {
    float : none !important;
    margin-top : 20px !important
    }

    td.ticket-organizer,
    td.ticket-qr {
    position : absolute;
    display : block;
    left : 0;
    bottom : 0;
    }

    td.ticket-organizer {
    bottom : 0px;
    height : 100px !important;
    }

    td.ticket-venue-child {
    width : 50% !important;
    }

    table.venue-details {
    position : relative !important;
    width : 100% !important;
    }

    a[href^=”tel”], a[href^=”sms”] {
    text-decoration : none;
    color : black;
    pointer-events : none;
    cursor : default;
    }

    .mobile_link a[href^=”tel”], .mobile_link a[href^=”sms”] {
    text-decoration : default;
    color : #006caa !important;
    pointer-events : auto;
    cursor : default;
    }
    }

    @media only screen and (max-width: 320px) {
    td.ticket-venue h6,
    td.ticket-organizer h6,
    td.ticket-details h6 {
    font-size : 12px !important;
    }
    }

    @media print {
    .ticket-break {
    page-break-before : always !important;
    }
    }

    <?php do_action( ‘tribe_tickets_ticket_email_styles’ );?>

    </style>
    </head>
    <body yahoo=”fix” alink=”#006caa” link=”#006caa” text=”#000000″ bgcolor=”#ffffff” style=”width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0 auto; padding:20px 0 0 0; background:#ffffff; min-height:1000px;”>
    <div style=”margin:0; padding:0; width:100% !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:14px; line-height:145%; text-align:left;”>
    <center>
    <?php
    do_action( ‘tribe_tickets_ticket_email_top’ );

    $count = 0;
    $break = ”;
    foreach ( $tickets as $ticket ) {
    $count ++;

    if ( $count == 2 ) {
    $break = ‘page-break-before:always !important;’;
    }

    $event = get_post( $ticket[‘event_id’] );
    $header_id = Tribe__Tickets__Tickets_Handler::instance()->get_header_image_id( $ticket[‘event_id’] );
    $header_img = false;
    if ( ! empty( $header_id ) ) {
    $header_img = wp_get_attachment_image_src( $header_id, ‘full’ );
    }

    $venue_label = ”;
    $venue_name = null;

    if ( function_exists( ‘tribe_get_venue_id’ ) ) {
    $venue_id = tribe_get_venue_id( $event->ID );
    if ( ! empty( $venue_id ) ) {
    $venue = get_post( $venue_id );
    }

    $venue_label = tribe_get_venue_label_singular();

    $venue_name = $venue_phone = $venue_address = $venue_city = $venue_web = ”;
    if ( ! empty( $venue ) ) {
    $venue_name = $venue->post_title;
    $venue_phone = get_post_meta( $venue_id, ‘_VenuePhone’, true );
    $venue_address = get_post_meta( $venue_id, ‘_VenueAddress’, true );
    $venue_city = get_post_meta( $venue_id, ‘_VenueCity’, true );
    $venue_state = get_post_meta( $venue_id, ‘_VenueStateProvince’, true );
    if ( empty( $venue_state ) ) {
    $venue_state = get_post_meta( $venue_id, ‘_VenueState’, true );
    }
    if ( empty( $venue_state ) ) {
    $venue_state = get_post_meta( $venue_id, ‘_VenueProvince’, true );
    }
    $venue_zip = get_post_meta( $venue_id, ‘_VenueZip’, true );
    $venue_web = get_post_meta( $venue_id, ‘_VenueURL’, true );
    }

    // $venue_address_style: make sure no double-quotes in the content
    $venue_address_style = “display:block; margin:0; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:13px;”;

    $venue_map_url = ”;

    if ( true === tribe_show_google_map_link( $event->ID ) && $venue_id ) {
    $venue_map_url = esc_url( tribe_get_map_link( $venue_id ) );
    }

    if ( empty( $venue_map_url ) ) {
    $venue_address_tag = ‘span’;
    } else {
    $venue_address_tag = ‘a’;
    $venue_address_style .= ‘ color:#006caa !important; text-decoration:underline;’;
    }

    }

    $start_date = null;

    /**
    * Filters whether or not the event start date should be included in the ticket email
    *
    * @var boolean Include start date? Defaults to false
    * @var int Event ID
    */
    $include_start_date = apply_filters( ‘event_tickets_email_include_start_date’, false, $event->ID );

    if ( $include_start_date && function_exists( ‘tribe_get_start_date’ ) ) {
    $start_date = tribe_get_start_date( $event, true );
    }

    if ( function_exists( ‘tribe_get_organizer_ids’ ) ) {
    $organizers = tribe_get_organizer_ids( $event->ID );
    }

    $event_link = function_exists( ‘tribe_get_event_link’ ) ? tribe_get_event_link( $event->ID ) : get_post_permalink( $event->ID );

    ?>
    <table class=”content” align=”center” width=”620″ cellspacing=”0″ cellpadding=”0″ border=”0″ bgcolor=”#ffffff” style=”margin:0 auto; padding:0;<?php echo $break; ?>”>
    <tr>
    <td align=”center” valign=”top” class=”wrapper” width=”620″>
    <table class=”inner-wrapper” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”620″ bgcolor=”#f7f7f7″ style=”margin:0 auto !important; width:620px; padding:0;”>
    <tr>
    <td valign=”top” class=”ticket-content” align=”left” width=”580″ border=”0″ cellpadding=”20″ cellspacing=”0″ style=”padding:20px; background:#f7f7f7;”>
    <?php
    if ( ! empty( $header_img ) ) {
    $header_width = esc_attr( $header_img[1] );
    if ( $header_width > 580 ) {
    $header_width = 580;
    }
    ?>
    <table border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%”>
    <tr>
    <td class=”ticket-image” valign=”top” align=”left” width=”100%” style=”padding-bottom:15px !important;”>
    ” width=”<?php echo esc_attr( $header_width ); ?>” alt=”<?php echo esc_attr( $event->post_title ); ?>” style=”border:0; outline:none; height:auto; max-width:100%; display:block;” />
    </td>
    </tr>
    </table>
    <?php
    }
    ?>
    <table border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%” align=”center”>
    <tr>
    <td valign=”top” align=”center” width=”100%” style=”padding: 0 !important; margin:0 !important;”>

    “><?php echo $event->post_title; ?>

    <?php if ( ! empty( $start_date ) ): ?>

    <span style=”color:#0a0a0e !important”><?php echo $start_date; ?></span>

    <?php endif; ?>
    </td>
    </tr>
    </table>
    <table class=”whiteSpace” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%”>
    <tr>
    <td valign=”top” align=”left” width=”100%” height=”30″ style=”height:30px; background:#f7f7f7; padding: 0 !important; margin:0 !important;”>
    <div style=”margin:0; height:30px;”></div>
    </td>
    </tr>
    </table>
    <table class=”ticket-details” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%” align=”center”>
    <tr>
    <td class=”ticket-details” valign=”top” align=”left” width=”100″ style=”padding: 0; width:100px; margin:0 !important;”>

    <?php esc_html_e( ‘Ticket #’, ‘event-tickets’ ); ?>

    <span style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:15px;”><?php echo $ticket[‘ticket_id’]; ?></span>
    </td>
    <td class=”ticket-details” valign=”top” align=”left” width=”120″ style=”padding: 0; width:120px; margin:0 !important;”>

    <?php esc_html_e( ‘Ticket Type’, ‘event-tickets’ ); ?>

    <span style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:15px;”><?php echo $ticket[‘ticket_name’]; ?></span>
    </td>
    <td class=”ticket-details” valign=”top” align=”left” width=”120″ style=”padding: 0 !important; width:120px; margin:0 !important;”>

    <?php esc_html_e( ‘Purchaser’, ‘event-tickets’ ); ?>

    <span style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:15px;”><?php echo $ticket[‘holder_name’]; ?></span>
    </td>
    <td class=”ticket-details new-row new-left-row” valign=”top” align=”left” width=”120″ style=”padding: 0; width:120px; margin:0 !important;”>

    <?php esc_html_e( ‘Security Code’, ‘event-tickets’ ); ?>

    <span style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:15px;”><?php echo $ticket[‘security_code’]; ?></span>
    </td>
    </tr>
    </table>
    <table class=”whiteSpace” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%”>
    <tr>
    <td valign=”top” align=”left” width=”100%” height=”30″ style=”height:30px; background:#f7f7f7; padding: 0 !important; margin:0 !important;”>
    <div style=”margin:0; height:30px;”></div>
    </td>
    </tr>
    </table>
    <?php
    if ( $venue_name || ! empty( $organizers ) ) {
    ?>
    <table class=”ticket-venue” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%” align=”center”>
    <tr>
    <?php
    if ( $venue_name ) {
    ?>
    <td class=”ticket-venue” valign=”top” align=”left” width=”300″ style=”padding: 0 !important; width:300px; margin:0 !important;”>

    <?php esc_html_e( $venue_label, ‘event-tickets’ ); ?>

    <table class=”venue-details” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%” align=”center”>
    <tr>
    <td class=”ticket-venue-child” valign=”top” align=”left” width=”130″ style=”padding: 0 10px 0 0 !important; width:130px; margin:0 !important;”>
    <span style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:13px; display:block; margin-bottom:5px;”><?php echo $venue_name; ?></span>
    <<?php echo $venue_address_tag; ?> style=”<?php echo esc_attr( $venue_address_style ); ?>” <?php if ( ‘a’ === $venue_address_tag ) { printf( ‘href=”%s”‘, $venue_map_url ); } ?>>
    <?php echo $venue_address; ?><br />
    <?php
    if ( $venue_city && ( $venue_state || $venue_zip ) ) :
    printf( ‘%s, %s %s’, $venue_city, $venue_state, $venue_zip );
    else:
    echo $venue_city;
    endif;
    ?>
    </<?php echo $venue_address_tag; ?>>
    </td>
    <td class=”ticket-venue-child” valign=”top” align=”left” width=”100″ style=”padding: 0 !important; width:140px; margin:0 !important;”>
    <span style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:13px; display:block; margin-bottom:5px;”><?php echo $venue_phone; ?></span>
    <?php if ( ! empty( $venue_web ) ): ?>
    ” style=”color:#006caa !important; display:block; margin:0; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:13px; text-decoration:underline;”><?php echo $venue_web; ?>
    <?php endif ?>
    </td>
    </tr>
    </table>
    </td>
    <?php
    }//end if

    if ( ! empty( $organizers ) ) {
    ?>
    <td class=”ticket-organizer” valign=”top” align=”left” width=”140″ style=”padding: 0 !important; width:140px; margin:0 !important;”>

    <?php echo tribe_get_organizer_label( count( $organizers ) < 2 ); ?>

    <?php foreach ( $organizers as $organizer_id ) { ?>
    <span
    style=”color:#0a0a0e !important; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:15px; display:block; padding-bottom:5px;”><?php echo tribe_get_organizer( $organizer_id ); ?></span>
    <?php } ?>
    </td>
    <?php
    }//end if
    ?>
    </tr>
    </table>
    <?php
    }//end if
    ?>
    <table border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%” align=”center”>
    <tr>
    <td class=”ticket-footer” valign=”top” align=”left” width=”100%” style=”padding: 0 !important; width:100%; margin:0 !important;”>
    ” style=”color:#006caa !important; display:block; margin-top:20px; font-family: ‘Helvetica Neue’, Helvetica, sans-serif; font-size:13px; text-decoration:underline;”><?php echo home_url(); ?>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <?php do_action( ‘tribe_tickets_ticket_email_ticket_bottom’, $ticket ); ?>
    <table class=”whiteSpace” border=”0″ cellpadding=”0″ cellspacing=”0″ width=”100%”>
    <tr>
    <td valign=”top” align=”left” width=”100%” height=”100″ style=”height:100px; background:#ffffff; padding: 0 !important; margin:0 !important;”>
    <div style=”margin:0; height:100px;”></div>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <?php
    }//end foreach

    do_action( ‘tribe_tickets_ticket_email_bottom’ );
    ?>
    </center>
    </div>
    </body>
    </html>

    #1336675
    Victor
    Member

    Hi Hassan!

    It seems that the code got broken by the editor, so could you please place the code into a zip file and attach it to the post?

    Or, you could also save it in a Google Drive and share the link with us.

    Thanks,
    Victor

    #1336697
    Hassan Jiwani
    Participant

    See Attached

    #1337187
    Victor
    Member

    Hi Hassan!

    Thanks for sending over the zip file. I will make some tests in my own local installation and will get back to you with the results.

    I’d appreciate your patience.

    Thanks,
    Victor

    #1340167
    Hassan Jiwani
    Participant

    Its been Over a week?

    #1340255
    Victor
    Member

    This reply is private.

    #1340274
    Hassan Jiwani
    Participant

    I replaced: public_html/wp-content/themes/ticketbox/tribe-events/tickets/email.php

    There Must be something wrong with the file you sent me, it appears like this, even the ticket doesn’t show:

    #1340410
    Victor
    Member

    This reply is private.

    #1343324
    Hassan Jiwani
    Participant

    is there any way i can centerise my logo?

Viewing 15 posts - 1 through 15 (of 26 total)
  • The topic ‘Customise Ticket Email’ is closed to new replies.