function generate_display_google_fonts() { if (is_admin()) { return; } $not_google = array("inherit", "Arial,+Helvetica,+sans-serif", "Verdana,+Geneva,+sans-serif", "Tahoma,+Geneva,+sans-serif", "Georgia,+Times New Roman,+Times,+serif"); $generate_settings = get_option('generate_settings', generate_get_default_fonts()); $google_fonts = array(); if (!empty($generate_settings)) { foreach ($generate_settings as $vkey => $vvalue) { if (preg_match('~^font_*~is', $vkey) !== 0 && !empty($vvalue)) { $vvalue = str_replace(" ", "+", $vvalue); if (!in_array($vvalue, $google_fonts)) { $google_fonts[] = $vvalue; } } } } $google_fonts = array_diff($google_fonts, $not_google); $google_fonts = implode('|', $google_fonts); if ($google_fonts) { echo '<link rel="stylesheet" id="generate-fonts" type="text/css" href="//fonts.googleapis.com/css?family=' . $google_fonts . '" />' . "\n"; } }
function generate_typography_convert_values() { // Don't run this if Typography add-on is activated if (function_exists('generate_fonts_customize_register')) { return; } // If we've done this before, bail if ('true' == get_option('generate_update_core_typography') || 'true' == get_option('generate_update_premium_typography')) { return; } // Get all settings $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_default_fonts()); // Get our body font family setting $value = $generate_settings['font_body']; // Create a new, empty array $new_settings = array(); // If our value has : in it, and isn't empty if (strpos($value, ':') !== false && !empty($value)) { // Remove the : and anything past it $value = current(explode(':', $value)); // Populate our new array with our new, clean value $new_settings['font_body'] = $value; } // Update our options if our new array isn't empty if (!empty($new_settings)) { $generate_new_typography_settings = wp_parse_args($new_settings, $generate_settings); update_option('generate_settings', $generate_new_typography_settings); } // All done, set an option so we don't go through this again update_option('generate_update_core_typography', 'true'); }
/** * Wrapper function to create font-family value for CSS * @since 1.3.0 */ function generate_get_font_family_css($font) { $generate_settings = wp_parse_args(get_option('generate_settings', array()), generate_get_default_fonts()); // We don't want to wrap quotes around these values $no_quotes = array('inherit', 'Arial, Helvetica, sans-serif', 'Georgia, Times New Roman, Times, serif', 'Helvetica', 'Impact', 'Tahoma, Geneva, sans-serif', 'Trebuchet MS, Helvetica, sans-serif', 'Verdana, Geneva, sans-serif'); // Get our font $font_family = $generate_settings[$font]; // If our value is still using the old format, fix it if (strpos($font_family, ':') !== false) { $font_family = current(explode(':', $font_family)); } // Set up our wrapper if (in_array($font_family, $no_quotes)) { $wrapper_start = null; $wrapper_end = null; } else { $wrapper_start = '"'; $wrapper_end = '"' . generate_get_google_font_category($font_family); } // Output the CSS $output = 'inherit' == $font_family ? 'inherit' : $wrapper_start . $font_family . $wrapper_end; return $output; }