The reason your content gets overwritten is because the shortcode function overrides the WordPress “the_content” function or appends itself to the front of it.
Page example:
If you are trying to show events in a page, you might try using the custom fields, then put the WordPress function “get_post_custom_values()” function above the “the_content” function.
<?php $customField = get_post_custom_values(“event_text”);
if (isset($customField[0])) {
echo $customField[0];
}?>
<?php the_content(‘<p class=”serif”>Read the rest of this page »</p>’); ?>
https://prntscr.com/64ea
or
https://img202.imageshack.us/img202/3610/01e30a8896f4492c8c3ab8a.png
——————————————————————
Post example:
If you are trying to show events in a post, you might try using the excerpt field, then put the excerpt above the the_content function.
<?php the_title(); ?> <– Displays the title of the page
<?php the_excerpt(); ?> <– Displays the excerpt
<?php the_content(); ?> <– Displays the content (or event data)
Let me know if any of these examples work for you.