meta_box = array (
'id' => $meta_box_id,
'title' => $meta_box_title,
'post_type' => $post_type,
);
$this->fields = array(
'corpobrand-sidebar-position',
'corpobrand-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 Corpobrand 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 );
}
}
/**
* Renders metabox
*
* @since Corpobrand 1.0.0
*
* @access public
*/
public function show() {
global $post;
$layout_options = corpobrand_sidebar_position();
$sidebar_options = corpobrand_selected_sidebar();
// Use nonce for verification
wp_nonce_field( basename( __FILE__ ), 'corpobrand_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' );
$corpobrand_metabox = new Corpobrand_MetaBox(
'corpobrand-options', //metabox id
esc_html__( 'Corpobrand Meta Options', 'corpobrand' ), //metabox title
$post_types //metabox post types
);
/**
* Enqueue scripts and styles for Metaboxes
* @uses wp_enqueue_script, and wp_enqueue_style
*
* @since Corpobrand 1.0.0
*/
function corpobrand_enqueue_metabox_scripts( $hook ) {
if( $hook == 'post.php' || $hook == 'post-new.php' ){
//Scripts
wp_enqueue_script( 'corpobrand-metabox', get_template_directory_uri() . '/assets/js/metabox' . corpobrand_min() . '.js', array( 'jquery', 'jquery-ui-tabs' ), '2013-10-05' );
//CSS Styles
wp_enqueue_style( 'corpobrand-metabox-tabs', get_template_directory_uri() . '/assets/css/metabox' . corpobrand_min() . '.css' );
}
return;
}
add_action( 'admin_enqueue_scripts', 'corpobrand_enqueue_metabox_scripts', 20 );