-
-
Save stiliyan/2a26678157a938126e0f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_action('init', 'event_list_init'); // register event posts | |
add_action('admin_init', 'add_events_metaboxes'); // register metaboxes | |
function event_list_init(){ | |
$labels = array( | |
'name' => _x( 'Events', 'post type general name' ), | |
'singular_name' => _x( 'Event', 'post type singular name' ), | |
'menu_name' => _x( 'Events List', 'admin menu' ), | |
'name_admin_bar' => _x( 'Events List', 'add new on admin bar' ), | |
'add_new_item' => __( 'Add New Event' ), | |
'new_item' => __( 'New Event' ), | |
'edit_item' => __( 'Edit Event' ), | |
'view_item' => __( 'View Event' ), | |
'all_items' => __( 'All Events' ), | |
'search_items' => __( 'Search Events' ), | |
'not_found' => __( 'No Events found.' ), | |
'not_found_in_trash' => __( 'No Events found in Trash.' ) | |
); | |
$args = array( | |
'labels' => $labels, | |
'description' => __( 'Create Events' ), | |
'public' => true, | |
'publicly_queryable' => true, | |
'show_ui' => true, | |
'show_in_menu' => true, | |
'query_var' => true, | |
'rewrite' => array( 'slug' => 'event' ), | |
'capability_type' => 'post', | |
'has_archive' => true, | |
'hierarchical' => true, | |
'menu_position' => 6, | |
'menu_icon' => 'dashicons-calendar-alt', | |
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ) | |
); | |
register_post_type('events',$args); | |
} | |
function add_events_metaboxes(){ | |
new eventsListMetaBox(); | |
} | |
class eventsListMetaBox{ | |
/* | |
* Constructor that creates the meta box | |
*/ | |
public function __construct(){ | |
/** | |
* Render and Add form meta box | |
*/ | |
add_meta_box('wpt_events_date', 'Events Date', array($this, 'fisa_events_date'), 'events', 'side', 'high'); | |
/** | |
* Save Date from and to as meta key | |
*/ | |
add_action('save_post',array($this, 'fisa_events_date_save'),1,2); | |
} | |
/** | |
* Render Form for Events date | |
*/ | |
function fisa_events_date() { | |
global $post; | |
// Add an nonce field so we can check for it later. | |
wp_nonce_field( 'events_date_fromto', 'events_datefromto_nonce' ); | |
// Echo out the field | |
echo '<label for="_fisa_date_from">Date From</label>'; | |
echo '<input id="fisa-event-datefrom" type="text" name="_fisa_date_from" class="widefat" />'; | |
echo '<br/><br/>'; | |
echo '<label for="_fisa_date_to">Date To</label>'; | |
echo '<input id="fisa-event-dateto" type="text" name="_fisa_date_to" class="widefat" />'; | |
} | |
/** | |
* Meta key actual database insertion | |
*/ | |
function fisa_events_date_save($post_id){ | |
//Prepare and sanitize the data before saving it | |
$events_date = array( | |
sanitize_text_field( $_POST['_fisa_date_from']), | |
sanitize_text_field($_POST['_fisa_date_to']) | |
); | |
update_post_meta($post_id, '_fisa_events_date', $events_date); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment