meta_box = array (
'id' => $meta_box_id,
'title' => $meta_box_title,
'post_type' => $post_type,
);
$this->fields = array(
'travel-master-sidebar-position',
'travel-master-selected-sidebar',
);
// Add metaboxes
add_action( 'add_meta_boxes', array( $this, 'add' ) );
add_action( 'save_post', array( $this, 'save' ) );
}
/**
* Add Meta Box for multiple post types.
*
* @since Travel Master 1.0.0
*
* @access public
*/
public function add($postType) {
if( in_array( $postType, $this->meta_box['post_type'] ) ) {
add_meta_box( $this->meta_box['id'], $this->meta_box['title'], array( $this, 'show' ), $postType, 'side' );
}
}
/**
* Renders metabox
*
* @since Travel Master 1.0.0
*
* @access public
*/
public function show() {
global $post;
$layout_options = travel_master_sidebar_position();
$sidebar_options = travel_master_selected_sidebar();
// Use nonce for verification
wp_nonce_field( basename( __FILE__ ), 'travel_master_custom_meta_box_nonce' );
// Begin the field table and loop ?>
fields as $field ) {
// Checks for input and sanitizes/saves if needed
if( isset( $_POST[ $field ] ) ) {
update_post_meta( $post_id, $field, sanitize_text_field( wp_unslash( $_POST[ $field ] ) ) );
}
} // end foreach
}
}
$post_types = array( 'page', 'post' );
$travel_master_metabox = new Travel_Master_MetaBox(
'travel-master-options', //metabox id
esc_html__( 'Travel Master Meta Options', 'travel-master' ), //metabox title
$post_types //metabox post types
);
/**
* Enqueue scripts and styles for Metaboxes
* @uses wp_enqueue_script, and wp_enqueue_style
*
* @since Travel Master 1.0.0
*/
function travel_master_enqueue_metabox_scripts( $hook ) {
if( $hook == 'post.php' || $hook == 'post-new.php' ){
//Scripts
wp_enqueue_script( 'travel-master-metabox', get_template_directory_uri() . '/assets/js/metabox' . travel_master_min() . '.js', array( 'jquery', 'jquery-ui-tabs' ), '2013-10-05' );
//CSS Styles
wp_enqueue_style( 'travel-master-metabox-tabs', get_template_directory_uri() . '/assets/css/metabox-tabs' . travel_master_min() . '.css' );
}
return;
}
add_action( 'admin_enqueue_scripts', 'travel_master_enqueue_metabox_scripts', 11 );