Just paste this entire snipit into your functions file and you should be good to go
function added_events_options_box() {
$screens = array( 'post' ); // this is the post type that the box will appear on (post,page,custom post type) separated by commas
foreach ( $screens as $screen ) { // 1122AM
add_meta_box(
'events_options_box', // the id of the div that controls the meta box. Case you want to style it
__( 'Event Settings', 'Event Settings' ), // little title that appears in the meta box in the editor
'added_events_options_content', // this is the function that prints the HTML out
$screen, // this is the post type that the box will appear on (post,page,custom post type)
'side', // puts the box under the editor // sometimes I use "side" for side boxes
'high' // places it first under the editor
);
} // 1122AM
}
add_action( 'add_meta_boxes', 'added_events_options_box' );
////////////////////////////////////////////////////////////////////////
function added_events_options_save( $post_id ) { // 847AM
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) // this stops auto save from updating my fields automatically
return;
$post_page_options = get_post_meta( $post_id, 'post_page_options', true );
$event_settings['event_start_month'] = $_POST['event_start_month'];
$event_settings['event_start_day'] = $_POST['event_start_day'];
$event_settings['event_start_year'] = $_POST['event_start_year'];
$event_settings['event_start_hour'] = $_POST['event_start_hour'];
$string_start_date = $event_settings['event_start_day']."-".$event_settings['event_start_month']."-".$event_settings['event_start_year'];
$event_settings['event_start_time'] = strtotime($string_start_date);
$event_settings['event_end_month'] = $_POST['event_end_month'];
$event_settings['event_end_day'] = $_POST['event_end_day'];
$event_settings['event_end_year'] = $_POST['event_end_year'];
$event_settings['event_end_hour'] = $_POST['event_end_hour'];
$string_end_date = $event_settings['event_end_day']."-".$event_settings['event_end_month']."-".$event_settings['event_end_year'];
$event_settings['event_end_time'] = strtotime($string_end_date);
$event_settings['event_location'] = $_POST['event_location'];
$post_page_options['event_settings'] = $event_settings;
update_post_meta( $post_id, 'post_page_options', $post_page_options );
} // 847AM
add_action( 'save_post', 'added_events_options_save' );
////////////////////////////////////////////////////////////////////////
function added_events_options_content($post) { // 1102AM ?>
<? $post_id = $post->ID; ?>
<? $post_page_options = get_post_meta( $post_id, 'post_page_options', true ); ?>
<? $event_settings = $post_page_options['event_settings']; ?>
<label>Event Start</label><br />
<select name="event_start_month" id="event_start_month">
<option value="<? echo $event_settings['event_start_month']; ?>"><? echo $event_settings['event_start_month']; ?></option>
<option value="January">January</option>
<option value="Febuary">Febuary</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
<select name="event_start_day" id="event_start_day">
<option value="<? echo $event_settings['event_start_day']; ?>"><? echo $event_settings['event_start_day']; ?> </option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="event_start_year" id="event_start_year">
<option value="<? echo $event_settings['event_start_year']; ?>"><? echo $event_settings['event_start_year']; ?></option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>
<br />
<label>Start Time</label><br />
<input type="text" name="event_start_hour" id="event_start_hour" placeholder="12:30 PM" value="<? echo $event_settings['event_start_hour']; ?>" />
<!-------------------------------->
<br />
<label>Event End</label><br />
<select name="event_end_month" id="event_end_month">
<option value="<? echo $event_settings['event_end_month']; ?>"><? echo $event_settings['event_end_month']; ?></option>
<option value="January">January</option>
<option value="Febuary">Febuary</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
<select name="event_end_day" id="event_end_day">
<option value="<? echo $event_settings['event_end_day']; ?>"><? echo $event_settings['event_end_day']; ?></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="event_end_year" id="event_end_year">
<option value="<? echo $event_settings['event_end_year']; ?>"><? echo $event_settings['event_end_year']; ?></option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>
<br />
<label>End Time</label><br />
<input type="text" name="event_end_hour" id="event_end_hour" placeholder="3:00 PM" value="<? echo $event_settings['event_end_hour']; ?>" />
<br />
<label>Location</label><br />
<input type="text" name="event_location" id="event_location" placeholder="West Port Plaza" value="<? echo $event_settings['event_location']; ?>" />
<? } // 1102AM
<? function string_limit_words($string, $word_limit) { //607AM
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words);
} //607AM
$call_args = array(
'category_name' => 'event',
'order' => 'DESC'
);
$custom_query = new WP_Query( $call_args );
$count = 0;
if ( $custom_query->have_posts() ) { while ( $custom_query->have_posts() ) { $custom_query->the_post(); // 8:22AM
$this_id = $post->ID;
$post_page_options = get_post_meta( $this_id, 'post_page_options', true );
$this['title'] = get_the_title();
$this['content'] = get_the_content();
$this_post_excerpt = get_the_excerpt();
$this['excerpt'] = string_limit_words($this_post_excerpt,15);
$this['excerpt'] .= ' <span class="tail">more ></span>';
$this['link'] = get_permalink($this_id);
$this['featured'] = wp_get_attachment_image_src( get_post_thumbnail_id($this_id), 'full');
$this['post_page_options'] = $post_page_options;
$all_events[$this_id] = $this;
////////////////////////////////////////////////////
//////////////// HANDLES ORDER /////////////////////
$event_settings = $post_page_options['event_settings'];
$event_start = $event_settings['event_start_time'];
$event_order[$this_id] = $event_start;
} } // 8:22AM
asort($event_order);
if (!empty($event_order)) { foreach ($event_order as $key => $event) { //8:11AM
$count++;
$this_event = $all_events[$key];
$this_event_options = $this_event['post_page_options'];
$featured_image = $this['featured'];
$this_post_page_options = $this_event['post_page_options'];
$this_event_settings = $this_post_page_options['event_settings'];
$this_event_start_month = $this_event_settings['event_start_month'];
$this_event_start_day = $this_event_settings['event_start_day'];
$this_event_start_year = $this_event_settings['event_start_year'];
$this_event_start_hour = $this_event_settings['event_start_hour'];
$this_event_start_time = $this_event_settings['event_start_time'];
$this_event_end_month = $this_event_settings['event_end_month'];
$this_event_end_day = $this_event_settings['event_end_day'];
$this_event_end_year = $this_event_settings['event_end_year'];
$this_event_end_hour = $this_event_settings['event_end_hour'];
$this_event_end_time = $this_event_settings['event_end_time'];
$this_event_location = $this_event_settings['event_location'];
$display_event_start_time = date('l, F, d', $this_event_start_time);
?>
<a href="<? echo $this_event['link']; ?>">
<div class="single_post_wrap" id="single_post_<? echo $count; ?>">
<div class="event_date"><? echo $display_event_start_time; ?></div>
<? if (!empty($featured_image[0])) { ?>
<div class="featured_wrap">
<img class="featured_image" id="featured_image_<? echo $count; ?>" src="<? echo $featured_image[0]; ?>" />
</div><!--featured_wrap-->
<? } ?>
<h1 class="post_title"><? echo $this_event['title']; ?></h1>
<? if (!empty($this_event_location)) { ?><div class="event_location"><? echo $this_event_location; ?></div><? } ?>
<? if (!empty($this_event_start_hour)) { ?><div class="event_hours"><? echo $this_event_start_hour; ?><? } ?>
<? if (!empty($this_event_end_hour)) { echo " - $this_event_end_hour"; } ?>
<? if (!empty($this_event_start_hour)) { ?></div><!--event_hours--><? } ?>
<div class="post_excerpt"><? echo $this_event['excerpt']; ?></div>
</div><!--single_post_wrap-->
</a>
<? } } //8:11AM ?>