responsive = apply_filters( 'bloghash_customizer_responsive_breakpoints', array( 'desktop' => array( 'title' => esc_html__( 'Desktop', 'bloghash' ), 'icon' => 'dashicons dashicons-desktop', ), 'tablet' => array( 'title' => esc_html__( 'Tablet', 'bloghash' ), 'icon' => 'dashicons dashicons-tablet', ), 'mobile' => array( 'title' => esc_html__( 'Mobile', 'bloghash' ), 'icon' => 'dashicons dashicons-smartphone', ), ) ); } } /** * Enqueue control related scripts/styles. * * @access public */ public function enqueue() { // Script debug. $bloghash_suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; // Control type. $bloghash_type = str_replace( 'bloghash-', '', $this->type ); /** * Enqueue control stylesheet */ wp_enqueue_style( 'bloghash-' . $bloghash_type . '-control-style', BLOGHASH_THEME_URI . '/inc/customizer/controls/' . $bloghash_type . '/' . $bloghash_type . $bloghash_suffix . '.css', false, BLOGHASH_THEME_VERSION, 'all' ); /** * Enqueue our control script. */ wp_enqueue_script( 'bloghash-' . $bloghash_type . '-js', BLOGHASH_THEME_URI . '/inc/customizer/controls/' . $bloghash_type . '/' . $bloghash_type . $bloghash_suffix . '.js', array( 'jquery', 'customize-base' ), BLOGHASH_THEME_VERSION, true ); } /** * Refresh the parameters passed to the JavaScript via JSON. * * @see WP_Customize_Control::to_json() * @since 1.0.0 */ public function to_json() { $this->json['settings'] = array(); foreach ( $this->settings as $key => $setting ) { $this->json['settings'][ $key ] = $setting->id; } $this->json['type'] = $this->type; $this->json['priority'] = $this->priority; $this->json['active'] = $this->active(); $this->json['section'] = $this->section; $this->json['label'] = $this->label; $this->json['description'] = $this->description; $this->json['instanceNumber'] = $this->instance_number; if ( 'dropdown-pages' === $this->type ) { $this->json['allow_addition'] = $this->allow_addition; } if ( isset( $this->default ) ) { $this->json['default'] = $this->default; } elseif ( isset( $this->setting->default ) ) { $this->json['default'] = $this->setting->default; } $this->json['value'] = $this->value(); $this->json['link'] = $this->get_link(); $this->json['id'] = $this->id; $this->json['required'] = $this->required; $this->json['responsive'] = $this->responsive; $this->json['inputAttrs'] = ''; foreach ( $this->input_attrs as $attr => $value ) { $this->json['inputAttrs'] .= $attr . '="' . esc_attr( $value ) . '" '; } } /** * An Underscore (JS) template for this control's responsive devices buttons. * * @since 1.0.0 */ protected function responsive_devices() { ?>