start_controls_section( 'Pricing_Table_section', [ 'label' => __( 'Setting', 'bring-back' ), 'tab' => \Elementor\Controls_Manager::TAB_CONTENT, ] ); $repeater = new \Elementor\Repeater(); $repeater->add_control( 'name', [ 'label' => __( 'Plan Name', 'bring-back' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, ] ); $repeater->add_control( 'price', [ 'label' => __( 'Price', 'bring-back' ), 'type' => \Elementor\Controls_Manager::TEXT, 'label_block' => true, ] ); $repeater->add_control( 'content', [ 'label' => __( 'Content', 'bring-back' ), 'type' => \Elementor\Controls_Manager::WYSIWYG, 'label_block' => true, ] ); $repeater->add_control( 'btn_text', [ 'label' => __( 'Button Text', 'bring-back' ), 'type' => \Elementor\Controls_Manager::TEXT ] ); $repeater->add_control( 'btn_url', [ 'label' => __( 'Button URL', 'bring-back' ), 'type' => \Elementor\Controls_Manager::URL, 'show_external' => true, 'default' => [ 'url' => '', 'is_external' => true, 'nofollow' => true, ], ] ); $this->add_control( 'list', [ 'label' => __( 'Pricing Table', 'bring-back' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $repeater->get_controls() ] ); $this->end_controls_section(); } /** * Render oEmbed 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(); $list = $settings['list']; if ( $list ) { ?>
widgets_manager->register_widget_type( new bring_back_Pricing_Table() );