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