admin_form_before(); $output .= $this->admin_form_start(); $output .= $this->default_fields(); $widget_saved_values = $this->get_settings(); $output .= Repeater::get([ 'multi_lang' => true, 'settings' => $widget_saved_values, 'id' => 'icon_style_two', 'fields' => [ [ 'type' => RepeaterField::TEXT, 'name' => 'title', 'label' => __('Title') ], [ 'type' => RepeaterField::TEXT, 'name' => 'url', 'label' => __('Url') ], [ 'type' => RepeaterField::ICON_PICKER, 'name' => 'icon', 'label' => __('Icon') ] ] ]); $output .= Slider::get([ 'name' => 'margin_top_minus', 'label' => __('Margin Top Minus'), 'value' => $widget_saved_values['margin_top_minus'] ?? 0, 'max' => 500, ]); $output .= Slider::get([ 'name' => 'padding_top', 'label' => __('Padding Top'), 'value' => $widget_saved_values['padding_top'] ?? 90, 'max' => 500, ]); $output .= Slider::get([ 'name' => 'padding_bottom', 'label' => __('Padding Bottom'), 'value' => $widget_saved_values['padding_bottom'] ?? 200, 'max' => 500, ]); $output .= $this->admin_form_submit_button(); $output .= $this->admin_form_end(); $output .= $this->admin_form_after(); return $output; } /** * frontend_render * this method must have to implement by all widget to render frontend widget content * @since 1.0.0 * */ public function frontend_render(): string { $settings = $this->get_settings(); $padding_top = SanitizeInput::esc_html($settings['padding_top']); $padding_bottom = SanitizeInput::esc_html($settings['padding_bottom']); $margin_top_minus = SanitizeInput::esc_html($settings['margin_top_minus']); $output = '