$type ) { add_meta_box( 'theme-settings', esc_html__( 'Theme Settings', 'business-club' ), 'business_club_render_theme_settings_metabox', $type ); } } endif; add_action( 'add_meta_boxes', 'business_club_add_theme_meta_box' ); if ( ! function_exists( 'business_club_render_theme_settings_metabox' ) ) : /** * Render theme settings meta box. * * @since 1.0.0 */ function business_club_render_theme_settings_metabox() { global $post; $post_id = $post->ID; // Meta box nonce for verification. wp_nonce_field( basename( __FILE__ ), 'business_club_theme_settings_meta_box_nonce' ); // Fetch Options list. $global_layout_options = business_club_get_global_layout_options(); $image_size_options = business_club_get_image_sizes_options( true, array( 'disable', 'large' ), false ); // Fetch values of current post meta. $values = get_post_meta( $post_id, 'theme_settings', true ); $theme_settings_post_layout = isset( $values['post_layout'] ) ? esc_attr( $values['post_layout'] ) : ''; $theme_settings_single_image = isset( $values['single_image'] ) ? esc_attr( $values['single_image'] ) : ''; ?>
array( 'type' => 'select', ), 'single_image' => array( 'type' => 'select', ), ); $sanitized_values = array(); foreach ( $_POST['theme_settings'] as $mk => $mv ) { if ( isset( $meta_fields[ $mk ]['type'] ) ) { switch ( $meta_fields[ $mk ]['type'] ) { case 'select': $sanitized_values[ $mk ] = esc_attr( $mv ); break; case 'checkbox': $sanitized_values[ $mk ] = absint( $mv ) > 0 ? 1 : 0; break; default: $sanitized_values[ $mk ] = esc_attr( $mv ); break; } } // End if. } update_post_meta( $post_id, 'theme_settings', $sanitized_values ); } } endif; add_action( 'save_post', 'business_club_save_theme_settings_meta', 10, 3 );