start_controls_section( 'serivce-section', [ 'label' => __( 'Serive Section', 'ai-elementor' ), ] ); $this->add_control( 'image', [ 'label' => __( 'Right Side Image', 'plugin-domain' ), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => \Elementor\Utils::get_placeholder_image_src(), ], ] ); $repeater = new \Elementor\Repeater(); $repeater->add_control( 'image', [ 'label' => __( 'Image Icon', 'ai-elementor' ), 'type' => Controls_Manager::MEDIA, 'default' => [ 'url' => AIDA_ASSETS_URL . 'images/default/icon.png', ], ] ); $repeater->add_control( 'title', [ 'label' => __( 'Title', 'ai-elementor' ), 'type' => Controls_Manager::TEXT, 'default' => __( 'Insert title here' , 'ai-elementor' ), 'label_block' => true, ] ); $repeater->add_control( 'description', [ 'label' => __( 'Description', 'ai-elementor' ), 'type' => Controls_Manager::TEXTAREA, 'default' => __( 'Insert content here' , 'ai-elementor' ), ] ); $this->add_control( 'service_items', [ 'label' => __( 'Service Items', 'ai-elementor' ), 'type' => Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'title_field' => '{{{ title }}}', ] ); $this->end_controls_section(); } /** * Render the widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * * @access protected */ protected function render() { $settings = $this->get_settings_for_display(); ?>