element_before(); $defaults_value = array( 'family' => 'Arial', 'variant' => 'regular', 'font' => 'websafe', ); $default_variants = apply_filters( 'cs_websafe_fonts_variants', array( 'regular', 'italic', '700', '700italic', 'inherit' )); $websafe_fonts = apply_filters( 'cs_websafe_fonts', array( 'Arial', 'Arial Black', 'Comic Sans MS', 'Impact', 'Lucida Sans Unicode', 'Tahoma', 'Trebuchet MS', 'Verdana', 'Courier New', 'Lucida Console', 'Georgia, serif', 'Palatino Linotype', 'Times New Roman' )); $value = wp_parse_args( $this->element_value(), $defaults_value ); $family_value = $value['family']; $variant_value = $value['variant']; $is_variant = ( isset( $this->field['variant'] ) && $this->field['variant'] === false ) ? false : true; $is_chosen = ( isset( $this->field['chosen'] ) && $this->field['chosen'] === false ) ? '' : 'chosen '; $google_json = cs_get_google_fonts(); $chosen_rtl = ( is_rtl() && ! empty( $is_chosen ) ) ? 'chosen-rtl ' : ''; if( is_object( $google_json ) ) { $googlefonts = array(); foreach ( $google_json->items as $key => $font ) { $googlefonts[$font->family] = $font->variants; } $is_google = ( array_key_exists( $family_value, $googlefonts ) ) ? true : false; echo ''; if( ! empty( $is_variant ) ) { $variants = ( $is_google ) ? $googlefonts[$family_value] : $default_variants; $variants = ( $value['font'] === 'google' || $value['font'] === 'websafe' ) ? $variants : array( 'regular' ); echo ''; } echo ''; } else { echo __( 'Error! Can not load json file.', 'cs-framework' ); } echo $this->element_after(); } }