$type ) { add_meta_box( 'business-key-theme-settings', esc_html__( 'Theme Settings', 'business-key' ), 'business_key_render_theme_settings_metabox', $type, 'normal', 'high' ); } } endif; add_action( 'add_meta_boxes', 'business_key_add_theme_meta_box' ); if ( ! function_exists( 'business_key_render_theme_settings_metabox' ) ) : /** * Enqueue metabox scripts and styles. * * @since 1.0.0 * * @param string $hook Hook name. */ function business_key_admin_scripts( $hook ) { $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; if ( in_array( $hook, array( 'post.php', 'post-new.php' ), true ) ) { wp_enqueue_style( 'business-key-metabox', get_template_directory_uri() . '/css/metabox' . $min . '.css', array(), '2.0.2' ); } } endif; add_action( 'admin_enqueue_scripts', 'business_key_admin_scripts' ); if ( ! function_exists( 'business_key_render_theme_settings_metabox' ) ) : /** * Render theme settings meta box. * * @since 1.0.0 * * @param WP_Post $post The current post. */ function business_key_render_theme_settings_metabox( $post ) { // Meta box nonce for verification. wp_nonce_field( basename( __FILE__ ), 'business_key_settings_meta_box_nonce' ); // Fetch values of current post meta. $values = get_post_meta( $post->ID, 'business_key_settings', true ); $theme_settings_header_layout = isset( $values['header_layout'] ) ? absint( $values['header_layout'] ) : 0; ?>

$choice ) : ?>
array( 'type' => 'select', ), ); $sanitized_values = array(); foreach ( $raw_value as $mk => $mv ) { if ( isset( $meta_fields[ $mk ]['type'] ) ) { switch ( $meta_fields[ $mk ]['type'] ) { case 'select': $sanitized_values[ $mk ] = sanitize_key( $mv ); break; case 'checkbox': $sanitized_values[ $mk ] = absint( $mv ) > 0 ? 1 : 0; break; default: $sanitized_values[ $mk ] = sanitize_text_field( $mv ); break; } } } update_post_meta( $post_id, 'business_key_settings', $sanitized_values ); } } // End if theme settings. } endif; add_action( 'save_post', 'business_key_save_theme_settings_meta', 10, 2 );