Skip to main content
All CollectionsDeveloper Documentation
Overriding Single Event Page
Overriding Single Event Page

In this article, we will explain the process of overriding single event page.

Hakan Turan avatar
Written by Hakan Turan
Updated over 2 weeks ago

In this article, we will explain the process of overriding single event page.

MEC is created by developers for developers! And it’s highly developer-friendly so you can simply override MEC templates in your theme and make it compatible with your theme style or use MEC filters/actions to customize it.

Overriding Single Event Page

With the Overriding Modern Events Calendar Single Event Page feature, as a developer, you can easily adjust themes and customize your website in the best possible way.

MEC has a number of template files in /path/to/modern-events-calendar/templates/, you can simply override them in your theme or child theme.

For instance, place them on the /path/to/theme/single-mec-events.php or /path/to/child-theme/single-mec-events.php.

Note: If you use the lite version of MEC insert -lite after “modern-events-calendar”.Let’s learn how to build an exclusive Single Event Page for our events.

Creating a PHP file in the theme folder

First, create a PHP file in the root folder of your theme named single-mec-events.php.

Then, in coding, call the main WordPress functions of get_header and get_footer.

For example:

1

2

3

get_header();

get_footer();

Now, you can place all your desired content between those 2 functions.

Supported PHP functions

Before getting any necessary fields for MEC, it is worth mentioning that the MEC plugin supports the main functions like getting titles, content, categories, tags, and featured images, however, loading other items needs to be done using the defined functions in

#

Name

Code

01

Title

get_the_title(); / the_title();

02

Content

get_the_content(); / the_content();

03

Thumbnail

the_post_thumbnail(); / the_post_thumbnail(‘full’);

04

Tag

get_the_tags();

05

Label

get_terms( array(‘taxonomy’ => ‘mec_label’,’hide_empty’ => false,));

06

Category

get_terms(array(‘taxonomy’ => ‘mec_category’,’hide_empty’ => false,));

07

Event Color

get_post_meta( get_the_ID(), ‘mec_color’, true );

08

Start Date

get_post_meta( get_the_ID(), ‘mec_start_date’, true );

09

Start Hours

get_post_meta( get_the_ID(), ‘mec_start_time_hour’, true);

10

Start Minute

get_post_meta( get_the_ID(), ‘mec_start_time_minutes’, true);

11

Start AM/PM

get_post_meta( get_the_ID(), ‘mec_start_time_ampm’, true);

12

End Date

get_post_meta( get_the_ID(), ‘mec_end_date’, true );

13

End Hours

get_post_meta( get_the_ID(), ‘mec_end_time_hour’, true);

14

End Minute

get_post_meta( get_the_ID(), ‘mec_end_time_minutes’, true);

15

End AM/PM

get_post_meta( get_the_ID(), ‘mec_end_time_ampm’, true);

16

MEC Comment

get_post_meta( get_the_ID(), ‘mec_comment’, true );

17

Read More

get_post_meta( get_the_ID(), ‘mec_read_more’, true);

18

More Info

get_post_meta( get_the_ID(), ‘mec_more_info’, true);

19

Cost

get_post_meta( get_the_ID(), ‘mec_cost’, true );

20

Event Excerpt

get_the_excerpt();

Modern Events Calendar Widgets

If you need to load the MEC’s widgets, please proceed as follows:
You should first add the following code in the PHP file “single-mec-events.php” you placed in the theme’s root directory.

1

2

3

$single = new MEC_skin_single();

$single_event_main = $single->get_event_mec(get_the_ID());

$single_event_obj = $single_event_main[0];

Then call the widgets:

1

2

// attendees widget

$single->display_attendees_widget($single_event_obj);

1

2

// Booking Module

$single->display_booking_widget($single_event_obj,$single_event_main);

1

2

// breadcrumb

$single->display_breadcrumb_widget( get_the_ID() );

1

2

// Category Widget

$single->display_category_widget($single_event_obj);

1

2

// Cost Widget

$single->display_cost_widget($single_event_obj);

1

2

// Countdown Widget

$single->display_countdown_widget($single_event_main);

1

2

// Date Widget

$single->display_date_widget($single_event_o

1

2

// Export Widget

$single->display_export_widget($single_event_obj);

1

2

// Google map widget

$single->display_map_widget($single_event_main);

1

2

// Hourly

$single->display_hourly_schedules_widget($single_event_obj);

1

2

// Label Widget

$single->display_label_widget($single_event_obj);

1

2

// Local Time widget

$single->display_local_time_widget($single_event_obj);

1

2

3

// Location Widget

$single->display_location_widget($single_event_obj); // Show Location

$single->display_other_location_widget($single_event_obj); // Show Additional Locations

1

2

// More info widget

$single->display_more_info_widget($single_event_obj);

1

2

// next/prev widgets

$single->display_next_prev_widget($single_event_obj);

1

2

3

// Organizer Widget

$single->display_organizer_widget($single_event_obj); // show Organizer

$single->display_other_organizer_widget($single_event_obj); // additional Organizers

1

2

// QR widget

$single->display_qrcode_widget($single_event_obj);

1

2

// Register Button

$single->display_register_button_widget($single_event_obj);

1

2

//Social

$single->display_social_widget($single_event_obj);

1

2

// Speakers widget

$single->display_speakers_widget($single_event_obj);

1

2

// Time Widget

$single->display_time_widget($single_event_obj);

1

2

// Weather Widget

$single->display_weather_widget($single_event_obj);

1

2

// Event Hourly Schedule

$single->display_hourly_schedules_widget($single_event_obj);

Did this answer your question?