array( 'name' => 'Events', 'singular_name' => 'Event', 'edit_item' => 'Edit Event', 'add_new_item' => 'Add New Event' ), 'taxonomies' => array('category'), 'menu_icon' => 'dashicons-calendar', 'menu_position' => 23, 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'event'), 'supports' => array( 'title', 'editor' ), ) ); } add_action( 'init', 'event_list_cal_post_type' ); function event_list_cal_columns( $cols ) { $cols = array( 'cb' => '', 'title' => _x('Event Title', 'event-list-calendar'), 'event-date' => __('Event Date', 'event-list-calendar'), 'event-repeat' => __('Event Repetition', 'event-list-calendar'), 'event-days' => __('Event Length', 'event-list-calendar'), 'categories' => __('Categories', 'event-list-calendar'), ); return $cols; } add_filter( 'manage_event-list-cal_posts_columns', 'event_list_cal_columns' ); function event_list_cal_columns_data( $column, $post_id ) { switch ( $column ) { case "event-date": $event_date = get_post_meta( $post_id, 'event-date', true); echo $event_date; break; case "event-repeat": $event_repeat = get_post_meta( $post_id, 'event-repeat', true); if($event_repeat == 1) { $event_repeat = __('Weekly', 'event-list-calendar'); } elseif($event_repeat == 2) { $event_repeat = __('Monthly', 'event-list-calendar'); } elseif($event_repeat == 3) { $event_repeat = __('Yearly', 'event-list-calendar'); } else { $event_repeat = __('One Time Event', 'event-list-calendar'); } echo $event_repeat; break; case "event-days": $event_days = get_post_meta( $post_id, 'event-days', true); if(empty($event_days)) { $event_days = $event_days.__('1 Day', 'event-list-calendar'); } elseif($event_days == 1) { $event_days = $event_days.__(' Day', 'event-list-calendar'); } else { $event_days = $event_days.__(' Days', 'event-list-calendar'); } echo $event_days; break; } } add_action( 'manage_posts_custom_column', 'event_list_cal_columns_data', 10, 2 ); function event_list_cal_sortable_columns( $columns ) { $cols['event-date'] = 'event-date'; $cols['event-repeat'] = 'event-repeat'; $cols['event-days'] = 'event-days'; return $cols; } add_filter( 'manage_edit-event-list-cal_sortable_columns', 'event_list_cal_sortable_columns' ); function event_list_cal( $atts ) { extract( shortcode_atts( array( 'month' => current_time('m', 0), 'year' => current_time('Y', 0), ), $atts, 'upcoming-events' ) ); $cal_output = ""; $current_month = 1; if(empty( $atts['month']) || empty( $atts['year'] ) ) { $atts['month'] = current_time('m', 0); $atts['year'] = current_time('Y', 0); $current_month = 0; } if($year == current_time('Y', 0) && $month == current_time('m', 0)) { $current_month = 1; } else { $current_month = 0; } $month = $atts['month']; $year = $atts['year']; $calendar_month = strtotime($year."-".$month."-01"); if(isset($_GET['month'])) { $calendar_month = strtotime($_GET['month']."-01"); $date = split('-', $_GET['month']); $year = $date[0]; $month = $date[1]; if($year == current_time('Y', 0) && $month == current_time('m', 0)) { $current_month = 1; } else { $current_month = 0; } } $events = array(); $args = array( 'post_type' => 'event-list-cal', 'posts_per_page' => -1, ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); $event_date = get_post_custom_values('event-date'); $event_date = strtotime($event_date[0]); $event_time = get_post_custom_values('event-time'); $event_time = $event_time[0]; $event_days = get_post_custom_values('event-days'); $event_days = $event_days[0]; $event_repeat = get_post_custom_values('event-repeat'); $event_repeat = $event_repeat[0]; $event_end = get_post_custom_values('event-end'); $event_end = $event_end[0]; if($event_repeat > 0) { $event_repeat_schedule = $event_repeat; } else { $event_repeat_schedule = 0; } $events[] = "ID)."\">".get_the_title()."==".$event_date."==".$event_time."==ID)."\"> ".get_the_excerpt()."==".$event_days."==".$event_repeat_schedule."==".$event_end; endwhile; $num_days = date('t', mktime(0, 0, 0, $month, 1, $year)); $strt_day = date('w', mktime(0, 0, 0, $month, 1, $year)); /* Handle multiple day events from previous months */ foreach($events as $event) { $event_array = split('==', $event); $event_link = $event_array[0]; $event_date = intval($event_array[1]); $event_time = $event_array[2]; $event_excerpt = $event_array[3]; $event_days = $event_array[4]; $event_repeat_schedule = $event_array[5]; $event_end = $event_array[6]; if($event_end == 0) { $event_end = '2038-01-19'; } $event_year = date('Y', $event_date); $event_month = date('m', $event_date); $event_day = date('d', $event_date); if($month == 1) { if($event_year == ($year - 1) && $event_month == 12 && !empty($event_days)) { $num_days_prev_month = date('t', mktime(0, 0, 0, $month, 1, ($year - 1))); if($event_days > ($num_days_prev_month - $event_day)) { $days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1); for($i = 1; $i <= $days_to_go; $i++) { $new_date = ($year."-".$month."-".$i); $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0"; } } } } else { if($event_year == $year && $event_month == ($month - 1) && !empty($event_days)) { $num_days_prev_month = date('t', mktime(0, 0, 0, ($month - 1), 1, $year)); if($event_days > ($num_days_prev_month - $event_day)) { $days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1); for($i = 1; $i <= $days_to_go; $i++) { $new_date = ($year."-".$month."-".$i); $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0"; } } } } /* Handle recurring events - All posibilities need to be addressed due to the ability to start a calendar on a specific month */ if($event_repeat_schedule == 1) { /* check to make sure date starts in the current month or if it is after $event_date */ if($event_year == $year && $event_month == $month) { $add_seven = $event_day; for($i = 0; $i < 5; $i++) { $add_seven = $add_seven + 7; $new_date = $year."-".$month."-".$add_seven; if(strtotime($new_date) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end; } } } elseif(strtotime($year."-".$month."-01") > $event_date) { /* get day of week it is on */ $day_of_week = date('w', $event_date) + 1; $add_seven = $day_of_week - $strt_day; for($i = 0; $i < 5; $i++) { $new_date = $year."-".$month."-".$add_seven; if(strtotime($new_date) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end; } $add_seven = $add_seven + 7; } } } elseif($event_repeat_schedule == 2) { if(strtotime($year."-".$month."-01") > $event_date && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0"; } } elseif($event_repeat_schedule == 3) { if(strtotime($year."-".$month."-01") > $event_date && $month == $event_month && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0"; } } } /* Draw calendar */ $cal_output .= "

".date('F Y', $calendar_month)."

« ".date('F', strtotime('-1 month', $calendar_month))."".date('F', strtotime('+1 month', $calendar_month))." »

"; if(get_settings('start_of_week') != 1) { $cal_output .= " "; } $cal_output .= " "; if(get_settings('start_of_week') == 1) { $cal_output .= " "; } $cal_output .= " "; $k = 0; if(get_settings('start_of_week') != 1) { for($i = 0; $i < $strt_day; $i++) { $cal_output .= " \r"; $k++; } } else { for($i = 1; $i < $strt_day; $i++) { $cal_output .= " \r"; $k++; } } $x = $k + 1; for($j = 1; $j <= $num_days; $j++) { if($x == 6 || $x == 7 || $x == 13 || $x == 14 || $x == 20 || $x == 21 || $x == 27 || $x == 28 || $x == 34 || $x == 35) { $class = ' class="event-list-cal-right"'; } if($j == current_time('j', 0) && $current_month == 1) { if($x == 6 || $x == 7 || $x == 13 || $x == 14 || $x == 20 || $x == 21 || $x == 27 || $x == 28 || $x == 34 || $x == 35) { $class = ' class="today event-list-cal-right"'; } else { $class = ' class="today"'; } } $cal_output .= "
".$j."
"; foreach($events as $event) { $event_array = split('==', $event); $event_link = $event_array[0]; $event_date = $event_array[1]; $event_time = $event_array[2]; $event_excerpt = $event_array[3]; $event_days = $event_array[4]; $event_repeat = $event_array[5]; $event_year = date('Y', intval($event_date)); $event_month = date('m', intval($event_date)); $event_day = date('d', intval($event_date)); if($event_year == $year && $event_month == $month && $event_day == $j) { $cal_output .= "

".$event_link."

"; if(!empty($event_time)) { $cal_output .= "

Event Time: ".$event_time."

"; } $cal_output .= " ".$event_excerpt."
\r"; /* If multiple days, add to $events[] */ if(!empty($event_days)) { $new_event_date = $event_date + 86400; while($event_days > 1) { $event_days = $event_days - 1; $events[] = $event_link."==".$new_event_date."==".$event_time."==".$event_excerpt."==0==".$event_repeat; $new_event_date = $new_event_date + 86400; } } } } $cal_output .= " "; $class = ""; $k++; if($k % 7 == 0) { $cal_output .= "
"; } $x++; } if($x > 36) { while($x <= 42 ) { $cal_output .= " "; $x++; } } elseif($x > 29 && $x != 36) { while($x <= 35) { $cal_output .= " "; $x++; } } $cal_output .= "
".__( 'Sunday', 'event-list-calendar' )."".__( 'Monday', 'event-list-calendar' )." ".__( 'Tuesday', 'event-list-calendar' )." ".__( 'Wednesday', 'event-list-calendar' )." ".__( 'Thursday', 'event-list-calendar' )." ".__( 'Friday', 'event-list-calendar' )." ".__( 'Saturday', 'event-list-calendar' )."".__( 'Sunday', 'event-list-calendar' )."
  
"; $cal_output .= $not_current_month; wp_reset_query(); return $cal_output; } add_shortcode('calendar', 'event_list_cal'); function event_list_mini_cal() { $cal_output = ""; $month = current_time('m', 0); $year = current_time('Y', 0); $calendar_month = strtotime($year."-".$month."-01"); $current_month = 1; if(isset($_GET['month'])) { $calendar_month = strtotime($_GET['month']."-01"); $date = split('-', $_GET['month']); $year = $date[0]; $month = $date[1]; if($year != current_time('Y', 0) || $month != current_time('m', 0)) { $current_month = 0; } } $events = array(); $args = array( 'post_type' => 'event-list-cal', 'posts_per_page' => -1, ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); $event_date = get_post_custom_values('event-date'); $event_date = strtotime($event_date[0]); $event_time = get_post_custom_values('event-time'); $event_time = $event_time[0]; $event_days = get_post_custom_values('event-days'); $event_days = $event_days[0]; $event_repeat = get_post_custom_values('event-repeat'); $event_repeat = $event_repeat[0]; $event_end = get_post_custom_values('event-end'); $event_end = $event_end[0]; if($event_repeat > 0) { $event_repeat_schedule = $event_repeat; } else { $event_repeat_schedule = 0; } $events[] = "ID)."\">".get_the_title()."==".$event_date."==".$event_time."==ID)."\"> ".get_the_excerpt()."==".$event_days."==".$event_repeat_schedule."==".$event_end; endwhile; $num_days = date('t', mktime(0, 0, 0, $month, 1, $year)); $strt_day = date('w', mktime(0, 0, 0, $month, 1, $year)); /* Handle multiple day events from previous months */ foreach($events as $event) { $event_array = split('==', $event); $event_link = $event_array[0]; $event_date = intval($event_array[1]); $event_time = $event_array[2]; $event_excerpt = $event_array[3]; $event_days = $event_array[4]; $event_repeat_schedule = $event_array[5]; $event_end = $event_array[6]; if($event_end == 0) { $event_end = '2038-01-19'; } $event_year = date('Y', $event_date); $event_month = date('m', $event_date); $event_day = date('d', $event_date); if($month == 1) { if($event_year == ($year - 1) && $event_month == 12 && !empty($event_days)) { $num_days_prev_month = date('t', mktime(0, 0, 0, $month, 1, ($year - 1))); if($event_days > ($num_days_prev_month - $event_day)) { $days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1); for($i = 1; $i <= $days_to_go; $i++) { $new_date = ($year."-".$month."-".$i); $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0"; } } } } else { if($event_year == $year && $event_month == ($month - 1) && !empty($event_days)) { $num_days_prev_month = date('t', mktime(0, 0, 0, ($month - 1), 1, $year)); if($event_days > ($num_days_prev_month - $event_day)) { $days_to_go = abs($num_days_prev_month - $event_day - $event_days + 1); for($i = 1; $i <= $days_to_go; $i++) { $new_date = ($year."-".$month."-".$i); $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==0"; } } } } /* Handle recurring events - All posibilities need to be addressed due to the ability to start a calendar on a specific month */ if($event_repeat_schedule == 1) { /* check to make sure date starts in the current month or if it is after $event_date */ if($event_year == $year && $event_month == $month) { $add_seven = $event_day; for($i = 0; $i < 5; $i++) { $add_seven = $add_seven + 7; $new_date = $year."-".$month."-".$add_seven; if(strtotime($new_date) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end; } } } elseif(strtotime($year."-".$month."-01") > $event_date) { /* get day of week it is on */ $day_of_week = date('w', $event_date) + 1; $add_seven = $day_of_week - $strt_day; for($i = 0; $i < 5; $i++) { $new_date = $year."-".$month."-".$add_seven; if(strtotime($new_date) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($new_date)."==".$event_time."==".$event_excerpt."==0==".$event_end; } $add_seven = $add_seven + 7; } } } elseif($event_repeat_schedule == 2) { if(strtotime($year."-".$month."-01") > $event_date && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0"; } } elseif($event_repeat_schedule == 3) { if(strtotime($year."-".$month."-01") > $event_date && $month == $event_month && strtotime($year."-".$month."-".date('d', $event_date)) <= strtotime($event_end)) { $events[] = $event_link."==".strtotime($year."-".$month."-".$event_day)."==".$event_time."==".$event_excerpt."==0==0"; } } } /* Draw calendar */ $cal_output .= "

« ".date('F Y', $calendar_month)." »

"; if(get_settings('start_of_week') != 1) { $cal_output .= " "; } $cal_output .= " "; if(get_settings('start_of_week') == 1) { $cal_output .= " "; } $cal_output .= " "; $k = 0; if(get_settings('start_of_week') != 1) { for($i = 0; $i < $strt_day; $i++) { $cal_output .= " \r"; $k++; } } else { for($i = 1; $i < $strt_day; $i++) { $cal_output .= " \r"; $k++; } } $x = $k + 1; for($j = 1; $j <= $num_days; $j++) { if($x == 5 || $x == 6 || $x == 7 || $x == 12 || $x == 13 || $x == 14 || $x == 19 || $x == 20 || $x == 21 || $x == 26 || $x == 27 || $x == 28 || $x == 33 || $x == 34 || $x == 35) { $class = ' class="event-list-cal-right"'; } if($j == current_time('j', 0) && $current_month == 1) { if($x == 5 || $x == 6 || $x == 7 || $x == 12 || $x == 13 || $x == 14 || $x == 19 || $x == 20 || $x == 21 || $x == 26 || $x == 27 || $x == 28 || $x == 33 || $x == 34 || $x == 35) { $class = ' class="today event-list-cal-right"'; } else { $class = ' class="today"'; } } $cal_output .= " "; $day_events = array(); foreach($events as $event) { $event_array = split('==', $event); $event_link = $event_array[0]; $event_date = $event_array[1]; $event_time = $event_array[2]; $event_excerpt = $event_array[3]; $event_days = $event_array[4]; $event_repeat = $event_array[5]; $event_year = date('Y', intval($event_date)); $event_month = date('m', intval($event_date)); $event_day = date('d', intval($event_date)); if($event_year == $year && $event_month == $month && $event_day == $j) { $day_events[$j][] = $event_link; /* If multiple days, add to $events[] */ if(!empty($event_days)) { $new_event_date = $event_date + 86400; while($event_days > 1) { $event_days = $event_days - 1; $events[] = $event_link."==".$new_event_date."==".$event_time."==".$event_excerpt."==0==".$event_repeat; $new_event_date = $new_event_date + 86400; } } } } if(!empty($day_events[$j])) { $cal_output .= '
'.$j.'
'; $cal_output .= '
'; foreach($day_events[$j] as $event) { $cal_output .= ''; } $cal_output .= '
'; } else { $cal_output .= '
'.$j.'
'; } $cal_output .= " "; $class = ""; $k++; if($k % 7 == 0) { $cal_output .= "
"; } $x++; } if($x > 36) { while($x <= 42 ) { $cal_output .= " "; $x++; } } elseif($x > 29 && $x != 36) { while($x <= 35) { $cal_output .= " "; $x++; } } $cal_output .= "
".__( 'Sun', 'event-list-calendar' )."".__( 'Mon', 'event-list-calendar' )." ".__( 'Tue', 'event-list-calendar' )." ".__( 'Wed', 'event-list-calendar' )." ".__( 'Thu', 'event-list-calendar' )." ".__( 'Fri', 'event-list-calendar' )." ".__( 'Sat', 'event-list-calendar' )."".__( 'Sun', 'event-list-calendar' )."
  
"; wp_reset_query(); return $cal_output; } add_shortcode('mini-calendar', 'event_list_mini_cal'); function event_list_cal_list( $atts ) { extract( shortcode_atts( array( 'num_events' => 5, 'categories' => '', ), $atts, 'upcoming-events' ) ); if(empty($atts['num_events'])) { $atts['num_events'] = 5; } $i = 1; $events = array(); /* Get all upcoming events and exclude recurring events. We'll grab recurring events next. */ $d = current_time("Y-m-d", 0); $args = array( 'post_type' => 'event-list-cal', 'posts_per_page' => $atts['num_events'], 'category_name' => $atts['categories'], 'meta_key' => 'event-date', 'orderby' => 'meta_value', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'event-date', 'value' => $d, 'type' => 'date', 'compare' => '>=' ) ) ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); $event_date = get_post_custom_values('event-date'); $event_date = strtotime($event_date[0]); $event_repeat = get_post_custom_values('event-repeat'); $event_repeat = $event_repeat[0]; $event_end = get_post_custom_values('event-end'); $event_end = $event_end[0]; if($event_repeat == 0) { if(!array_key_exists($event_date, $events)) { $events[$event_date] = "ID)."\">".get_the_title().""; } else { if($events[$event_date] != "ID)."\">".get_the_title()."") { $events[$event_date + $i] = "ID)."\">".get_the_title().""; $i++; } } } endwhile; $j = 1; $recurring_events = array(); /* Let's grab all the recurring events, check to see if their end date is after $d, and add them to $events */ $args = array( 'post_type' => 'event-list-cal', 'category_name' => $atts['categories'], 'meta_key' => 'event-date', 'meta_query' => array( array( 'key' => 'event-repeat', 'value' => array( 1, 2, 3 ), 'compare' => 'IN' ) ) ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); $event_date = get_post_custom_values('event-date'); $event_date = strtotime($event_date[0]); $event_repeat = get_post_custom_values('event-repeat'); $event_repeat_schedule = $event_repeat[0]; $event_end = get_post_custom_values('event-end'); $event_end = $event_end[0]; if(!array_key_exists($event_date, $recurring_events)) { $recurring_events[$event_date] = "ID)."\">".get_the_title()."==".$event_repeat_schedule."==".$event_end; } else { $recurring_events[$event_date + $i] = "ID)."\">".get_the_title()."==".$event_repeat_schedule."==".$event_end; $i++; } $repeats = 1; endwhile; $list_output .= " "; wp_reset_query(); return $list_output; } add_shortcode('upcoming-events', 'event_list_cal_list'); function event_list_cal_above_content($content) { if ( is_singular( 'event-list-cal' ) ) { $post_custom = get_post_custom(); $date_format = get_option( 'event_list_cal_single_date_format', get_option( 'date_format' ) ); foreach($post_custom as $key => $value) { if($key == 'event-date') { $date = strtotime($value[0]); $event_date = date($date_format, $date); } if($key == 'event-days' && $value[0] > 1) { $end_date = date($date_format, strtotime('+ '.$value[0].' days', $date)); } if($key == 'event-time' && !empty($value[0])) { $event_time = $value[0]; } if($key == 'event-repeat' && $value[0] > 0) { switch($value[0]) { case 1: $event_repeat = 'weekly'; break; case 2: $event_repeat = 'monthly'; break; case 3: $event_repeat = 'yearly'; break; } } if($key == 'event-end' && $value[0] != 0) { $event_end .= date($date_format, strtotime($value[0])); } } $event_data .= '
'.__('Event Date: ', 'event-list-calendar').$event_date; if(isset($end_date)) { $event_data .= __(' to ', 'event-list-calendar').$end_date.'
'; } else { $event_data .= '
'; } if(isset($event_time)) { $event_data .= '
'.__('Event Time: ', 'event-list-calendar').$event_time.'
'; } if(isset($event_repeat)) { $event_data .= '
'.__('This event repeats ', 'event-list-calendar').$event_repeat; if(isset($event_end)) { $event_data .= __(' until ', 'event-list-calendar').$event_end.'.
'; } else { $event_data .= '.'; } } $event_data .= ''; $content = $event_data.$content; } return $content; } add_filter( 'the_content', 'event_list_cal_above_content' ); function event_list_cal_metabox() { add_meta_box( 'event-list-cal-metabox', __( 'Event Date & Time', 'event-list-calendar' ), 'event_list_cal_add_metabox', 'event-list-cal', 'normal', 'core' ); add_meta_box( 'event-list-cal-metabox-repeat', __( 'Optional: Make This a Multiple Day Event, or a Weekly, Monthly, or Yearly Event', 'event-list-calendar' ), 'event_list_cal_add_metabox1', 'event-list-cal', 'normal', 'core' ); } add_action( 'add_meta_boxes', 'event_list_cal_metabox' ); function event_list_cal_add_metabox( $post ) { wp_nonce_field( basename( __FILE__ ), 'event-list-cal-nonce' ); $event_date = get_post_meta( $post->ID, 'event-date', true ); $event_time = get_post_meta( $post->ID, 'event-time', true ); if(empty($event_date)) { $event_date = date('Y-m-d', time()); } ?>
ID, 'event-days', true ); $event_repeat = get_post_meta( $post->ID, 'event-repeat', true ); $event_end = get_post_meta( $post->ID, 'event-end', true ); $weekly = ''; $monthly = ''; $yearly = ' selected="selected"'; if(empty($event_days)) { $event_days = 1; } if($event_repeat > 0) { $checked = ' checked="checked"'; $event_schedule = $event_repeat; if($event_schedule == 1) { $weekly = ' selected="selected"'; $yearly = ''; } elseif($event_schedule == 2) { $monthly = ' selected="selected"'; $yearly = ''; } } else { $checked = ''; } if(!$event_end) { $checked_2 = ' checked="checked"'; $event_end = ''; $end_display = ' display: none;'; } else { $checked_2 = ''; } ?>
>
1 && $_POST['event-list-cal-event-days'] <= 31) || !isset($_POST['event-list-cal-event-repeat'])) { update_post_meta( $post_id, 'event-days', $_POST['event-list-cal-event-days'] ); update_post_meta( $post_id, 'event-repeat', 0 ); update_post_meta( $post_id, 'event-end', 0 ); } else { if($_POST['event-list-cal-event-repeat'] == 1) { update_post_meta( $post_id, 'event-days', 1 ); update_post_meta( $post_id, 'event-repeat', $_POST['event-list-cal-event-repeat-schedule'] ); if(!isset($_POST['event-list-cal-event-end-checkbox'])) { update_post_meta( $post_id, 'event-end', $_POST['event-list-cal-event-end'] ); } else { update_post_meta( $post_id, 'event-end', 0 ); } } } } add_action( 'save_post', 'event_list_cal_meta' ); function event_list_cal_admin_script_style( $hook ) { if ( 'post.php' == $hook || 'post-new.php' == $hook ) { wp_enqueue_script( 'events', plugin_dir_url(__FILE__) . 'assets/js/scripts.js', array( 'jquery', 'jquery-ui-datepicker' ), '0.1', true ); wp_enqueue_style( 'jquery-ui-calendar', plugin_dir_url(__FILE__) . 'assets/css/jquery-ui.css', false, '1.11.1', 'all' ); } } add_action( 'admin_enqueue_scripts', 'event_list_cal_admin_script_style' ); function event_list_cal_head() { echo ''; if(get_option('event_list_cal_theme') && get_option('event_list_cal_theme') != 'light') { echo ''; } } add_action( 'wp_head', 'event_list_cal_head' ); function event_list_cal_footer() { echo ''; } add_action( 'wp_footer', 'event_list_cal_footer' ); class EventListCal { private $options; public function __construct() { add_action( 'admin_menu', array( $this, 'add_plugin_pages' ) ); add_action( 'admin_init', array( $this, 'page_init' ) ); } public function add_plugin_pages() { add_submenu_page( 'edit.php?post_type=event-list-cal', 'Settings Admin', 'About', 'manage_options', 'about', array( $this, 'create_about_page' ) ); add_submenu_page( 'edit.php?post_type=event-list-cal', 'Settings Admin', 'Settings', 'manage_options', 'settings', array( $this, 'create_settings_page' ) ); } public function create_about_page() { ?>

Ryan Fait.', 'event-list-calendar'); ?>

[calendar] and [upcoming-events].', 'event-list-calendar'); ?>

[calendar] shortcode will display a full-size calendar of the current month. If you want to start the calendar on a specific month, you can do so by adding month and year attributes. For example, [calendar year="2015" month="09"].', 'event-list-calendar'); ?>

[mini-calendar] displays a smaller Ajax calendar more suited for use in text widgets and sidebars.', 'event-list-calendar'); ?>

[upcoming-events] shortcode shows the next five upcoming events. You can specify the number of events you want to display like this: [upcoming-events num_events="3"].', 'event-list-calendar'); ?>

[upcoming-events categories="birthdays,holidays"]', 'event-list-calendar'); ?>

view the documentation here.', 'event-list-calendar'); ?>

GNU General Public License (GPL) version 3.', 'event-list-calendar'); ?>

Ben Marshall\'s post on using Ajax with WordPress.', 'event-list-calendar'); ?>

options = get_option( 'event_list_cal_settings' ); ?>

You can choose your own date formats for the upcoming events list and the dates that appear at above the content on single event pages.

NOTE: Leave a text field empty to return it to its default. Documentation on date and time formatting.

', 'event-list-calendar'); } public function print_theme_info() { // _e('

Choose a theme.

', 'event-list-calendar'); } public function event_list_cal_upcoming_date_format_callback() { if(isset( $this->options['event_list_cal_upcoming_date_format'] )) { $value = esc_attr( $this->options['event_list_cal_upcoming_date_format'] ); if(esc_attr( $this->options['event_list_cal_upcoming_date_format'] ) == '') { $value = 'Y • m • d'; //update_option('event_list_cal_upcoming_date_format', 'Y • m • d'); delete_option('event_list_cal_upcoming_date_format'); } } else { $value = 'Y • m • d'; update_option('event_list_cal_upcoming_date_format', 'Y • m • d'); } $html = ' '.date($value, time()).''; echo $html; } public function event_list_cal_single_date_format_callback() { if(isset( $this->options['event_list_cal_single_date_format'] )) { $value = esc_attr( $this->options['event_list_cal_single_date_format'] ); if(esc_attr( $this->options['event_list_cal_single_date_format'] ) == '') { $value = get_option('date_format'); //update_option('event_list_cal_single_date_format', get_option('date_format')); delete_option('event_list_cal_single_date_format'); } } else { $value = get_option( 'date_format' ); update_option('event_list_cal_single_date_format', get_option('date_format')); } $html = ' '.date($value, time()).''; echo $html; } public function event_list_cal_theme_callback() { if(get_option('event_list_cal_theme')) { $selected = get_option('event_list_cal_theme'); } else { $selected = 'light'; } $html = '