Cart/Checkout Event Page

Add hook code to functions.php file in child theme

1: Create event page

Go to Pages >> Add New Page

  • Add shortcode to content of page: [el_cart]

  • Choose "Elementor Full Width" template

  • Choose Header/Footer verision

  • If you used Elementor to create Cart page, please deactive cache for text editor element. Go to Advanced >> Cache Settings: choose "Inactive"

2: Setting

Go to Events >> Settings >> General >> General tab >> choose "cart page" setting.

  • You have to choose page has shortcode: [el_cart/]

3: Event Cart Page at frontend

Event Detail page
Cart page

4: Customize event cart page

1) Remove "remaining tickets" in Ticket Type section

Go to Events >> Settings >> Event >> Event Detail >> Show Remaining Ticket: No

2) Remove "receiver option"

add bellow code to functions.php file in child theme

add_filter( 'el_show_multiple_ticket_checkout_form', '__return_false' );

3) Remove "Last Name" field

add bellow code to functions.php file in child theme

add_filter( 'el_show_last_name_checkout_form', '__return_false' );

4) Remove "Confirm Email" field

add bellow code to functions.php file in child theme

add_filter( 'el_checkout_show_email_confirm', '__return_false' );

5) Remove "Phone" field

add bellow code to functions.php file in child theme

add_filter( 'el_checkout_show_phone', '__return_false' );

5.1) Require enter "Phone" field when submit form

add bellow code to functions.php file in child theme

add_filter( 'el_checkout_required_phone', function(){ return 'true'; } );

6) Remove "Address" field

add bellow code to functions.php file in child theme

add_filter( 'el_checkout_show_address', '__return_false' );

6.1) Require enter "Address" field when submit form

add bellow code to functions.php file in child theme

add_filter( 'el_checkout_required_address', function(){ return 'true'; } );

7) Remove "Custom Checkout Fields"

Please add in "Custom Checkout fields". Read here

8) Payment Gateway

Go to Events >> Settings >> Cart & Checkout >> active payment gatway: Free, Offline, WooCommerce, Stripe, Paypal

Read more here

9) Term and Conditions

Go to Events >> Settings >> Cart & Checkout >> General

10) Extra Service

You can add extra service in event

11) Tax

Go to Events >> Settings >> Tax & Profit >> Enable Tax and other setting

  • Enable: Allow to calculate tax in order

  • Tax percentage: Enter value of tax. Some package may change tax in per event. The admin/vendor only can change tax per event in Vendor Interface (the backend doesn't support this.)

    • Vendor has permission change tax in package

    • Create event in vendor dashboard interface and insert tax:

  • Vendor's Profit included tax:

    • Yes: The Verdor will do tax payment procedures with the tax authority.

    • No: Admin will do this

12) System fee

Go to Events >> Settings >> Tax & Profit >> change system fee with some settings:

Customers have to pay each booking(exclusive of tax). This fee will added for the owner site (admin).

13) Discount

You can setup it when create new event

14) Create an account during checkout

Go to Events >> Settings >> Cart & Checkout >> And config like here:

  • Users have to login to checkout of events: No

  • Allow customers to create an account during checkout: Enable

15) Require login before booking

Go to Events >> Settings >> Cart & Checkout >> and config Users have to login to checkout of events: Yes

Click booking
The system require login before booking

16) Customize template in child theme

Copy file 
plugins/eventlist/templates/cart/cart.php
to
themes/meup-child/eventlist/cart/cart.php

In the cart.php file we call many different files, so you should copy the necessary file into the child theme to customize it.

  • Example: If you only want to customize ticket type area, you can:

Copy file 
plugins/eventlist/templates/cart/ticket_type.php
to
themes/meup-child/eventlist/cart/ticket_type.php

5: Checkout page

In Cart Page when click "Submit" button, the system will display checkout page.

Checkout page in woocomemrce
  • You can change "time to complete the booking" in Events >> Settings >> Cart & Checkout >> and config some settings:

    • Holding Ticket: Yes (Allows to hold the ticket until the payment is completed after a period of time) ⇒ Prevent customers from booking the same seat at the same time.

    • Maximum time to complete payment: Booking will be deleted if the payment completion time is over x seconds

    • Check every x seconds: The system runs in the background to check whether the ticket hold is still valid. If it is not, the system will remove that ticket hold so other customers can book that seat. You should enter value such as "Maximum time to complete payment:" setting.

6: Order Detail

After the payment is successful, the system will send an email to the customer and allow them to download the tickets and invoice.

a) Invoice

You can download invoice in order detail or My Bookings

PDF Invoice
  • You can change some information in PDF Invoice file by go to Events >> Settings >> PDF Invoice >> PDF Template

b) PDF Ticket

  • Customers can download all PDF tickets in one zip file, or download each file individually.

Go to Events >> Settings >> General >> General >> Allows downloading tickets as zip files

  • Yes: Download zip file

  • No: Download individually

  • Customize PDF Template

Copy file
Plugins/eventlist/templates/pdf/template.php
to
Themes/meup-child/eventlist/pdf/template.php

We are using mPDF to make ticket pdf, so you can read here to know about mPDF: https://mpdf.github.io/

You can add bellow code in template file:

<?php 
$data_checkout_field = get_post_meta( $ticket['ticket_id'], OVA_METABOX_EVENT.'data_checkout_field', true ); 

if( $data_checkout_field ){
	
	$data_checkout_field = json_decode( $data_checkout_field );
	foreach ($data_checkout_field as $key => $value) {
		echo '<br/>'.$key.': '.$value.'<br/>';
	}

}

?>
  • Display Phone of customer in pdf ticket:

You can add bellow code in template file

$booking_id = get_post_meta( $ticket['ticket_id'], OVA_METABOX_EVENT.'booking_id', true ); 
$phone = get_post_meta( $booking_id, OVA_METABOX_EVENT.'phone', true ); 
echo '<br/>Phone:'.$phone;
  • Change font size

Check language in site. example English, you can add bellow code to function.php in child theme

add_filter( 'el_pdf_font_size_en', function(){ return '14'; } );
  • Change font family

Check language in site. example English, you can add bellow code to function.php in child theme

add_filter( 'el_pdf_font_en', function(){ return 'Sun-ExtA'; } );
  • Use New font

You can add your font to themes/meup-child/font/ folder then add bellow code to function.php file in child theme

add_filter( 'el_pdf_font_en', function(){ return 'Sun-ExtA'; } );

You can find some extra fonts here: https://github.com/mpdf/mpdf/tree/development/ttfonts

7: Order Mail

After the payment is successful, the system will send an email to the customer. You can config content of email in Events >> Settings >> Mail >> New Order

Remove QR Code in mail when booking event succesfully

add bellow code to functions.php file in child theme

add_filter( 'el_filter_attach_qrcode_mail', '__return_false' );

Remove PDF ticket in mail when booking event succesfully (From version 1.2.1)

add bellow code to functions.php file in child theme

add_filter( 'el_filter_attach_pdf_mail', '__return_false' );

Remove QR Code & PDF ticket in mail when booking event succesfully

add bellow code to functions.php file in child theme

add_filter( 'el_booking_mail_attachments', function(){ return array(); } );

8: Booking failed

  • Step 1: Logo per Ticket have use extension .PNG

  • Step 2: Check content in mail template setting

  • Step 3: Check in your server supports: allow_url_fopen: true You can contact your server provider about this problem.

Last updated

Was this helpful?