units = $args['units']; } if ( isset( $args['default_unit'] ) ) { $this->default_unit = $args['default_unit']; } if ( isset( $args['responsive'] ) ) { $this->responsive = $args['responsive']; } if ( isset( $args['sides'] ) ) { $this->sides = $args['sides']; } } /** * Enqueue control related scripts/styles */ public function enqueue() { wp_enqueue_script( 'accepta-spacing-control', get_template_directory_uri() . '/inc/customizer-controls/js/spacing-control.js', array( 'jquery', 'customize-base' ), '1.0.0', true ); wp_enqueue_style( 'accepta-spacing-control', get_template_directory_uri() . '/inc/customizer-controls/css/spacing-control.css', array(), '1.0.0' ); // Localize script for translations wp_localize_script( 'accepta-spacing-control', 'acceptaSpacingL10n', array( 'confirmReset' => __( 'Are you sure you want to reset all spacing values to defaults?', 'accepta' ), ) ); } /** * Render the control's content */ public function render_content() { $input_id = '_customize-input-' . $this->id; $description_id = '_customize-description-' . $this->id; $describedby_attr = ( ! empty( $this->description ) ) ? ' aria-describedby="' . esc_attr( $description_id ) . '"' : ''; $value = $this->value(); // Parse value if it's JSON if ( is_string( $value ) ) { $value = json_decode( $value, true ); } // Set defaults if ( ! is_array( $value ) ) { $value = array(); } $breakpoints = $this->responsive ? array( 'desktop', 'tablet', 'mobile' ) : array( 'desktop' ); ?>
label ) ) : ?> label ); ?> description ) ) : ?> description; ?>
responsive ) : ?>
>
sides as $side ) : $field_value = isset( $value[ $breakpoint ][ $side ] ) ? $value[ $breakpoint ][ $side ] : ''; $side_labels = array( 'top' => __( 'Top', 'accepta' ), 'right' => __( 'Right', 'accepta' ), 'bottom' => __( 'Bottom', 'accepta' ), 'left' => __( 'Left', 'accepta' ) ); ?>
link(); ?> />