meta_box = array ( 'id' => $meta_box_id, 'title' => $meta_box_title, 'post_type' => $post_type, ); $this->fields = array( 'magazinews-sidebar-position', 'magazinews-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 Magazinews 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 Magazinews 1.0.0 * * @access public */ public function show() { global $post; $layout_options = magazinews_sidebar_position(); $sidebar_options = magazinews_selected_sidebar(); // Use nonce for verification wp_nonce_field( basename( __FILE__ ), 'magazinews_custom_meta_box_nonce' ); // Begin the field table and loop ?>
ID, 'magazinews-sidebar-position', true ); if( empty( $metalayout ) ){ $metalayout=''; } foreach ( $layout_options as $value => $url ) : echo ''; endforeach; ?>
ID, 'magazinews-selected-sidebar', true ); if ( empty( $metasidebar ) ){ $metasidebar='sidebar-1'; } foreach ( $sidebar_options as $field => $value ) { ?>
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' ); $magazinews_metabox = new Magazinews_MetaBox( 'magazinews-options', //metabox id esc_html__( 'Magazinews Meta Options', 'magazinews' ), //metabox title $post_types //metabox post types ); /** * Enqueue scripts and styles for Metaboxes * @uses wp_enqueue_script, and wp_enqueue_style * * @since Magazinews 1.0.0 */ function magazinews_enqueue_metabox_scripts( $hook ) { if( $hook == 'post.php' || $hook == 'post-new.php' ){ //Scripts wp_enqueue_script( 'magazinews-metabox', get_template_directory_uri() . '/assets/js/metabox' . magazinews_min() . '.js', array( 'jquery', 'jquery-ui-tabs' ), '2013-10-05' ); //CSS Styles wp_enqueue_style( 'magazinews-metabox-tabs', get_template_directory_uri() . '/assets/css/metabox-tabs' . magazinews_min() . '.css' ); } return; } add_action( 'admin_enqueue_scripts', 'magazinews_enqueue_metabox_scripts', 11 );