add_panel( 'business_article_ship_typography_settings_panel', array( 'priority' => 30, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'Typography Settings', 'business-article-ship' ), ) ); // Section Body Typography $wp_customize->add_section( 'business_article_ship_body_typography_settings', array( 'priority' => 25, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'Body', 'business-article-ship' ), 'panel' => 'business_article_ship_typography_settings_panel', ) ); // Body Font Family Setting $wp_customize->add_setting( 'business_article_ship_body_font_family', array( 'default' => 'Open Sans, sans-serif', // Default font 'sanitize_callback' => 'business_article_ship_sanitize_font_family', // Custom sanitize function ) ); $wp_customize->add_control( new Business_Article_Ship_Font_Select_Control( $wp_customize, 'business_article_ship_body_font_family', array( 'label' => esc_html__( 'Body Font Family', 'business-article-ship' ), 'section' => 'business_article_ship_body_typography_settings', 'choices' => business_article_ship_get_google_fonts(), ) )); // Section Heading Typography $wp_customize->add_section( 'business_article_ship_heading_typography_settings', array( 'priority' => 25, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'Heading', 'business-article-ship' ), 'panel' => 'business_article_ship_typography_settings_panel', ) ); // Heading Font Family Setting $wp_customize->add_setting( 'business_article_ship_heading_font_family', array( 'default' => 'Raleway, sans-serif', // Default font 'sanitize_callback' => 'business_article_ship_sanitize_font_family', // Custom sanitize function ) ); $wp_customize->add_control( new Business_Article_Ship_Font_Select_Control( $wp_customize,'business_article_ship_heading_font_family', array( 'label' => esc_html__( 'Heading Font Family', 'business-article-ship' ), 'section' => 'business_article_ship_heading_typography_settings', 'choices' => business_article_ship_get_google_fonts(), ) )); } endif; add_action( 'customize_register', 'business_article_ship_customizer_typography_setting_register' ); // Function to fetch Google Fonts function business_article_ship_get_google_fonts() { // Add Google Fonts to be available for selection return array( 'Raleway, sans-serif' => 'Raleway', 'Arial, sans-serif' => 'Arial', 'Georgia, serif' => 'Georgia', 'Verdana, sans-serif' => 'Verdana', 'Times New Roman, serif' => 'Times New Roman', 'Roboto, sans-serif' => 'Roboto', 'Open Sans, sans-serif' => 'Open Sans', 'Lora, serif' => 'Lora', 'Merriweather, serif' => 'Merriweather', 'Montserrat, sans-serif' => 'Montserrat', // Add more Google fonts as needed ); } // Sanitize Google Fonts input function business_article_ship_sanitize_font_family( $value ) { $allowed_fonts = array( 'Raleway, sans-serif','Arial, sans-serif', 'Georgia, serif', 'Verdana, sans-serif', 'Times New Roman, serif', 'Roboto, sans-serif', 'Open Sans, sans-serif', 'Lora, serif', 'Merriweather, serif', 'Montserrat, sans-serif', // Add more allowed fonts to this array ); if ( in_array( $value, $allowed_fonts ) ) { return $value; } else { return 'Open Sans, sans-serif'; // Default fallback font } } function business_article_ship_sanitize_title( $value ) { return sanitize_text_field( $value ); }