add_setting('default_body_font', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); global $alphabet_google_fonts; //$flipped_google_fonts = array_flip($alphabet_google_fonts); $wp_customize->add_control('default_body_font', array( 'label' => __('Default font family', 'alphabet' ), 'type' => 'select', 'section' => 'body_styles', 'choices' => $alphabet_google_fonts, 'description' => __('Choose font family', 'alphabet'), )); //add_option( 'default_body_fontweight', '' ); // in TO: select; // Default font weight (in TO: select field; in DB: '' | '400' | '100' | '700' | '800' ) // (in template we need: '' | '400' | '100' | '700' | '800' ) // Choose font weight $wp_customize->add_setting('default_body_fontweight', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); global $alphabet_font_weight; $flipped_font_weight = array_flip($alphabet_font_weight); $wp_customize->add_control('default_body_fontweight', array( 'label' => __('Default font weight', 'alphabet' ), 'type' => 'select', 'section' => 'body_styles', 'choices' => $flipped_font_weight, 'description' => __('Choose font weight', 'alphabet'), )); //add_option( 'default_body_fontstyle', '' ); // in TO: select; // Default font style (in TO: select field; in DB: '' | 'normal' | 'italic' | 'oblique' ) $wp_customize->add_setting('default_body_fontstyle', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); global $alphabet_font_style; $flipped_font_style = array_flip($alphabet_font_style); $wp_customize->add_control('default_body_fontstyle', array( 'label' => __('Default font style', 'alphabet' ), 'type' => 'select', 'section' => 'body_styles', 'choices' => $flipped_font_style, 'description' => __('Choose font style', 'alphabet'), )); //add_option( 'default_body_fontsize', '' ); // Default font size $wp_customize->add_setting( 'default_body_fontsize', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control( 'default_body_fontsize', array( 'label' => __( 'Default font size, px', 'alphabet' ), 'type' => 'text', 'section' => 'body_styles', )); //add_option( 'default_body_lineheight', '' ); // Default font line height $wp_customize->add_setting( 'default_body_lineheight', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control( 'default_body_lineheight', array( 'label' => __( 'Default font line height, px', 'alphabet' ), 'type' => 'text', 'section' => 'body_styles', )); //add_option( 'default_body_letter_spacing', '' ); // Default font letter spacing $wp_customize->add_setting( 'default_body_letter_spacing', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control( 'default_body_letter_spacing', array( 'label' => __( 'Default font letter spacing, px', 'alphabet' ), 'type' => 'text', 'section' => 'body_styles', )); //add_option( 'default_body_fontcolor', '' ); // in TO default: '#000000' // Default font color $wp_customize->add_setting( 'default_body_fontcolor', array( 'type' => 'option', 'default' => '000000', 'sanitize_callback' => 'sanitize_hex_color', )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'default_body_fontcolor', array( 'label' => __( 'Default font color', 'alphabet' ), 'section' => 'body_styles', ))); /** * To section: 'H1 styles', 'H1 styles', ... 'H6 styles' */ // H1 styles //add_option( 'default_h1_font', '' ); //add_option( 'default_h1_fontweight', '' ); //add_option( 'default_h1_fontstyle', '' ); //add_option( 'default_h1_fontsize', '' ); //add_option( 'default_h1_lineheight', '' ); //add_option( 'default_h1_letter_spacing', '' ); // ... // H6 styles //add_option( 'default_h6_font', '' ); //add_option( 'default_h6_fontweight', '' ); //add_option( 'default_h6_fontstyle', '' ); //add_option( 'default_h6_fontsize', '' ); //add_option( 'default_h6_lineheight', '' ); //add_option( 'default_h6_letter_spacing', '' ); for ( $i = 1; $i <= 6; $i++ ) { //add_option( 'default_hX_font', '' ); $wp_customize->add_setting('default_h'. $i .'_font', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control('default_h'. $i .'_font', array( 'label' => __('Default font family', 'alphabet' ), 'type' => 'select', 'section' => 'h'. $i .'_styles', 'choices' => $alphabet_google_fonts, 'description' => __('Choose font family', 'alphabet'), )); //add_option( 'default_hX_fontweight', '' ); $wp_customize->add_setting('default_h'. $i .'_fontweight', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control('default_h'. $i .'_fontweight', array( 'label' => __('Default font weight', 'alphabet' ), 'type' => 'select', 'section' => 'h'. $i .'_styles', 'choices' => $flipped_font_weight, 'description' => __('Choose font weight', 'alphabet'), )); //add_option( 'default_hX_fontstyle', '' ); $wp_customize->add_setting('default_h'. $i .'_fontstyle', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control('default_h'. $i .'_fontstyle', array( 'label' => __('Default font style', 'alphabet' ), 'type' => 'select', 'section' => 'h'. $i .'_styles', 'choices' => $flipped_font_style, 'description' => __('Choose font style', 'alphabet'), )); //add_option( 'default_h1_fontsize', '' ); // Default font size $wp_customize->add_setting( 'default_h'. $i .'_fontsize', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control( 'default_h'. $i .'_fontsize', array( 'label' => __( 'Default font size, px', 'alphabet' ), 'type' => 'text', 'section' => 'h'. $i .'_styles', )); //add_option( 'default_h1_lineheight', '' ); // Default font line height $wp_customize->add_setting( 'default_h'. $i .'_lineheight', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control( 'default_h'. $i .'_lineheight', array( 'label' => __( 'Default font line height, px', 'alphabet' ), 'type' => 'text', 'section' => 'h'. $i .'_styles', )); //add_option( 'default_h1_letter_spacing', '' ); // Default font letter spacing $wp_customize->add_setting( 'default_h'. $i .'_letter_spacing', array( 'type' => 'option', 'default' => '', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control( 'default_h'. $i .'_letter_spacing', array( 'label' => __( 'Default font letter spacing, px', 'alphabet' ), 'type' => 'text', 'section' => 'h'. $i .'_styles', )); //add_option( 'default_hX_fontcolor', '' ); // in TO default: '#000000' // Default font color $default = (4 !== $i)? '000000': '3bc0c3'; // green for H4 and black for others $wp_customize->add_setting( 'default_h'. $i .'_fontcolor', array( 'type' => 'option', 'default' => $default, 'sanitize_callback' => 'sanitize_hex_color', )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'default_h'. $i .'_fontcolor', array( 'label' => __( 'Default font color', 'alphabet' ), 'section' => 'h'. $i .'_styles', ))); $section_title = 'H'. $i .' styles'; $wp_customize->add_section( 'h'. $i .'_styles', array( 'title' => __( $section_title, 'alphabet' ), 'panel' => 'fonts', )); } $wp_customize->add_section( 'body_styles', array( 'title' => __( 'Body styles', 'alphabet' ), 'panel' => 'fonts', )); $wp_customize->add_panel( 'fonts', array( 'title' => __( 'Fonts', 'alphabet' ), 'description' => __('Custom theme fonts', 'alphabet'), 'priority' => 160, // Mixed with top-level-section hierarchy. ) );