fields ) ) { $this->fields = array( 'label' => array( 'type' => 'text', 'label' => __( 'Label', 'accepta' ), 'placeholder' => __( 'Enter label', 'accepta' ), ), 'url' => array( 'type' => 'url', 'label' => __( 'URL', 'accepta' ), 'placeholder' => __( 'https://example.com', 'accepta' ), ), ); } } /** * Enqueue control related scripts/styles */ public function enqueue() { // Enqueue Font Awesome for icon previews (use theme's local version) wp_enqueue_style( 'accepta-font-awesome', get_template_directory_uri() . '/assets/fonts/fontawesome/all.min.css', array(), '6.4.0' ); wp_enqueue_script( 'accepta-repeater-control', get_template_directory_uri() . '/inc/customizer-controls/js/repeater-control.js', array( 'jquery', 'customize-base', 'jquery-ui-sortable' ), wp_get_theme()->get( 'Version' ), true ); wp_enqueue_style( 'accepta-repeater-control', get_template_directory_uri() . '/inc/customizer-controls/css/repeater-control.css', array( 'accepta-font-awesome' ), wp_get_theme()->get( 'Version' ) ); // Localize script for translations and theme data wp_localize_script( 'accepta-repeater-control', 'acceptaRepeaterL10n', array( 'confirmDelete' => __( 'Are you sure you want to delete this item?', 'accepta' ), 'addNew' => __( 'Add New Item', 'accepta' ), 'maxItems' => sprintf( __( 'Maximum %d items allowed', 'accepta' ), $this->max_items ), 'templateUrl' => get_template_directory_uri(), ) ); } /** * Render the control's content */ public function render_content() { $input_id = '_customize-input-' . $this->id; $describedby_attr = ''; if ( ! empty( $this->description ) ) { $describedby_attr = 'aria-describedby="' . esc_attr( $input_id ) . '-description"'; } ?>