l10n = wp_parse_args( $this->l10n, array( 'color' => esc_html__( 'Font Color', 'anime-stream' ), 'family' => esc_html__( 'Font Family', 'anime-stream' ), 'size' => esc_html__( 'Font Size', 'anime-stream' ), 'weight' => esc_html__( 'Font Weight', 'anime-stream' ), 'style' => esc_html__( 'Font Style', 'anime-stream' ), 'line_height' => esc_html__( 'Line Height', 'anime-stream' ), 'letter_spacing' => esc_html__( 'Letter Spacing', 'anime-stream' ), ) ); } /** * Enqueue scripts/styles. * * @since 1.0.0 * @access public * @return void */ public function enqueue() { wp_enqueue_script( 'anime-stream-ctypo-customize-controls' ); wp_enqueue_style( 'anime-stream-ctypo-customize-controls' ); } /** * Add custom parameters to pass to the JS via JSON. * * @since 1.0.0 * @access public * @return void */ public function to_json() { parent::to_json(); // Loop through each of the settings and set up the data for it. foreach ( $this->settings as $setting_key => $setting_id ) { $this->json[ $setting_key ] = array( 'link' => $this->get_link( $setting_key ), 'value' => $this->value( $setting_key ), 'label' => isset( $this->l10n[ $setting_key ] ) ? $this->l10n[ $setting_key ] : '' ); if ( 'family' === $setting_key ) $this->json[ $setting_key ]['choices'] = $this->get_font_families(); elseif ( 'weight' === $setting_key ) $this->json[ $setting_key ]['choices'] = $this->get_font_weight_choices(); elseif ( 'style' === $setting_key ) $this->json[ $setting_key ]['choices'] = $this->get_font_style_choices(); } } /** * Underscore JS template to handle the control's output. * * @since 1.0.0 * @access public * @return void */ public function content_template() { ?> <# if ( data.label ) { #> {{ data.label }} <# } #> <# if ( data.description ) { #> {{{ data.description }}} <# } #> __( 'No Fonts', 'anime-stream' ), 'Abril Fatface' => __( 'Abril Fatface', 'anime-stream' ), 'Acme' => __( 'Acme', 'anime-stream' ), 'Anton' => __( 'Anton', 'anime-stream' ), 'Architects Daughter' => __( 'Architects Daughter', 'anime-stream' ), 'Arimo' => __( 'Arimo', 'anime-stream' ), 'Arsenal' => __( 'Arsenal', 'anime-stream' ), 'Arvo' => __( 'Arvo', 'anime-stream' ), 'Alegreya' => __( 'Alegreya', 'anime-stream' ), 'Alfa Slab One' => __( 'Alfa Slab One', 'anime-stream' ), 'Averia Serif Libre' => __( 'Averia Serif Libre', 'anime-stream' ), 'Bangers' => __( 'Bangers', 'anime-stream' ), 'Boogaloo' => __( 'Boogaloo', 'anime-stream' ), 'Bad Script' => __( 'Bad Script', 'anime-stream' ), 'Bitter' => __( 'Bitter', 'anime-stream' ), 'Bree Serif' => __( 'Bree Serif', 'anime-stream' ), 'BenchNine' => __( 'BenchNine', 'anime-stream' ), 'Cabin' => __( 'Cabin', 'anime-stream' ), 'Cardo' => __( 'Cardo', 'anime-stream' ), 'Courgette' => __( 'Courgette', 'anime-stream' ), 'Cherry Swash' => __( 'Cherry Swash', 'anime-stream' ), 'Cormorant Garamond' => __( 'Cormorant Garamond', 'anime-stream' ), 'Crimson Text' => __( 'Crimson Text', 'anime-stream' ), 'Cuprum' => __( 'Cuprum', 'anime-stream' ), 'Cookie' => __( 'Cookie', 'anime-stream' ), 'Chewy' => __( 'Chewy', 'anime-stream' ) ); } /** * Returns the available font weights. * * @since 1.0.0 * @access public * @return array */ public function get_font_weight_choices() { return array( '' => esc_html__( 'No Fonts weight', 'anime-stream' ), '100' => esc_html__( 'Thin', 'anime-stream' ), '300' => esc_html__( 'Light', 'anime-stream' ), '400' => esc_html__( 'Normal', 'anime-stream' ), '500' => esc_html__( 'Medium', 'anime-stream' ), '700' => esc_html__( 'Bold', 'anime-stream' ), '900' => esc_html__( 'Ultra Bold', 'anime-stream' ), ); } /** * Returns the available font styles. * * @since 1.0.0 * @access public * @return array */ public function get_font_style_choices() { return array( '' => esc_html__( 'No Fonts Style', 'anime-stream' ), 'normal' => esc_html__( 'Normal', 'anime-stream' ), 'italic' => esc_html__( 'Italic', 'anime-stream' ), 'oblique' => esc_html__( 'Oblique', 'anime-stream' ) ); } }