id; } $options = quest_get_choices( $setting ); if ( ! in_array( $value, array_keys( $options ) ) ) { $value = quest_get_default( $setting ); } return $value; } endif; if ( ! function_exists( 'quest_sanitize_font_family' ) ): /** * Sanitize function for WP_Customize setting to sanitize Font Family * * @return string */ function quest_sanitize_font_family( $value, $setting ) { if ( is_object( $setting ) ) { $setting = $setting->id; } if ( ! is_string( $value ) || $value === '' ) { return ''; } else if ( ! in_array( $value, array_keys( quest_get_all_fonts( false ) ) ) ) { $value = quest_get_default( $setting ); } return $value; } endif; if ( ! function_exists( 'quest_sanitize_font_variant' ) ): /** * Sanitize function for WP_Customize setting to sanitize Font Family Variant * * @return string */ function quest_sanitize_font_variant( $value ) { $options = array( "100", "100italic", "200", "200italic", "300", "300italic", "500", "500italic", "600", "600italic", "700", "700italic", "800", "800italic", "900", "900italic", "italic", "regular", "thin", "thin-italic", "bold", "bold-italic", "medium", "medium-italic", "extra-light", "extra-light-italic", "light", "light-italic", "serif", "serif-italic" ); if ( ! is_string( $value ) || $value === '' ) { return 'regular'; } else if ( in_array( $value, $options ) ) { return $value; } return 'regular'; } endif; if ( ! function_exists( 'quest_sanitize_font_text_transform' ) ): /** * Sanitize function for WP_Customize setting to sanitize Font Text Transform * * @return string */ function quest_sanitize_font_text_transform( $value ) { $options = array( 'none', 'uppercase', 'lowercase', ); if ( ! is_string( $value ) || $value === '' ) { return 'none'; } else if ( in_array( $value, $options ) ) { return $value; } return 'none'; } endif; if ( ! function_exists( 'quest_sanitize_font_subsets' ) ): /** * Sanitize function for WP_Customize setting to sanitize Font Subsets * * @return string */ function quest_sanitize_font_subsets( $values ) { $multi_values = ! is_array( $values ) ? explode( ',', $values ) : $values; return ! empty( $multi_values ) ? array_map( 'sanitize_text_field', $multi_values ) : array(); } endif; if ( ! function_exists( 'quest_get_color_mods' ) ): /** * Determine if a mod is a color mod * * @return bool */ function quest_get_color_mods( $mod ) { return 0 === strpos( $mod, 'colors_' ); } endif; if ( ! function_exists( 'quest_get_font_mods' ) ): /** * Determine if a mod is a typography mod * * @return bool */ function quest_get_font_mods( $mod ) { return 0 === strpos( $mod, 'typography_' ); } endif; if ( ! function_exists( 'quest_is_font_family' ) ): /** * Checks if a given mod is Font Family * * @return bool */ function quest_is_font_family( $mod ) { return quest_string_ends_with( $mod, 'font_family' ) || quest_string_ends_with( $mod, 'font_variant' ); } endif; if ( ! function_exists( 'quest_string_ends_with' ) ): /** * Determine if a string ends with a particulr value * * @return bool */ function quest_string_ends_with( $whole, $end ) { return strpos( $whole, $end ) !== false && strpos( $whole, $end, strlen( $whole ) - strlen( $end ) ) !== false; } endif; if ( ! function_exists( 'quest_font_settings' ) ): /** * Prints the Font styles for a given section * * @return string CSS Font styles */ function quest_font_settings( $section ) { ?> font: ; line-height: ; font-weight: ; font-style: ; text-transform: ; letter-spacing: px; word-spacing: px;