. */ define('A7_PLUGIN_URL', plugin_dir_url( __FILE__ )); // for development - need to change for go live //define('A7_PLUGIN_URL', '/wp-content/plugins/a7-simple-events'); /*------------------------------------*\ Register Event Post Type \*------------------------------------*/ add_action( 'init', 'a7_register_events' ); function a7_register_events() { register_post_type( 'a7_event', array( 'label' => 'Event', 'public' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'has_archive' => true, 'query_var' => true, 'supports' => array( 'title', 'editor', 'custom-fields', 'comments', 'revisions', 'thumbnail', 'page-attributes', ) ) ); } /*------------------------------------*\ Enqueue Javascript & Styles \*------------------------------------*/ // Register datepicker ui for properties function admin_javascript_scripts(){ global $post; if($post->post_type == ('a7_event') && is_admin()) { //print datepicker script wp_register_script('datepicker-js', A7_PLUGIN_URL.'/js/jquery-ui-datepicker/jquery.ui.datepicker.js', 'jquery'); wp_enqueue_script('datepicker-js'); //print timepicker script wp_register_script('timepicker-js', A7_PLUGIN_URL.'/js/jquery-timepicker/jquery.timepicker.js', 'jquery'); wp_enqueue_script('timepicker-js'); //print datepair script wp_register_script('timepicker-datepair', A7_PLUGIN_URL.'/js/jquery-timepicker/datepair.js', 'timepicker-js'); wp_enqueue_script('timepicker-datepair'); } } add_action('admin_print_scripts', 'admin_javascript_scripts'); // Register ui styles for properties function admin_javascript_styles(){ global $post; if($post->post_type == ('a7_event') && is_admin()) { //print datepicker script wp_register_style('timepicker-css', A7_PLUGIN_URL.'/js/jquery-timepicker/jquery.timepicker.css'); wp_enqueue_style('timepicker-css'); //print timepicker script wp_register_style('datepicker-css', A7_PLUGIN_URL.'/js/jquery-ui-datepicker/jquery-ui-1.8.16.custom.css'); wp_enqueue_style('datepicker-css'); } } add_action('admin_print_styles', 'admin_javascript_styles'); /*------------------------------------*\ Meta Boxes for edit screen \*------------------------------------*/ add_action('add_meta_boxes', 'event_datetime_add'); function event_datetime_add() { add_meta_box('event_datetime', 'Event Datetime', 'event_datetime_list', 'a7_event', 'side', 'high'); } function event_datetime_list( $post ) { // start datetimepair if(get_post_meta( $post->ID, '_event_start', true )) : $event_start_date = date('d-m-Y', get_post_meta( $post->ID, '_event_start', true )); $event_start_time = date('g:ia', get_post_meta( $post->ID, '_event_start', true )); endif; // end datetimepair if(get_post_meta( $post->ID, '_event_end', true )) : $event_end_date = date('d-m-Y', get_post_meta( $post->ID, '_event_end', true )); $event_end_time = date('g:ia', get_post_meta( $post->ID, '_event_end', true )); endif; wp_nonce_field( 'event_nonce', 'meta_box_nonce' ); ?>



array( // on allow a tags 'href' => array() // and those anchords can only have href attribute ) ); // Probably a good idea to make sure your data is set if( isset( $_POST['_event_start_date'] ) ) { if( isset($_POST['_event_start_time'] ) ) { $event_start = strtotime($_POST['_event_start_date']." ".$_POST['_event_start_time']); } else { $event_start = strtotime($_POST['_event_start_date']); } update_post_meta( $post_id, '_event_start', $event_start ); } if( isset( $_POST['_event_end_date'] ) ) { if( isset($_POST['_event_end_time'] ) ) { $event_end = strtotime($_POST['_event_end_date']." ".$_POST['_event_end_time']); } else { $event_end = strtotime($_POST['_event_end_date']); } update_post_meta( $post_id, '_event_end', $event_end ); } }