experiments->is_feature_active( 'e_optimized_markup' ); } /** * Get widget upsale data. * * Retrieve the widget promotion data. * * @since 3.19.0 * @access protected * * @return array Widget promotion data. */ protected function get_upsale_data() { return [ 'condition' => ! Utils::has_pro(), 'image' => esc_url( ELEMENTOR_ASSETS_URL . 'images/go-pro.svg' ), 'image_alt' => esc_attr__( 'Upgrade', 'elementor' ), 'title' => esc_html__( 'Convert visitors into customers', 'elementor' ), 'description' => esc_html__( 'Get the Call to Action widget and grow your toolbox with Elementor Pro.', 'elementor' ), 'upgrade_url' => esc_url( 'https://go.elementor.com/go-pro-button-widget/' ), 'upgrade_text' => esc_html__( 'Upgrade Now', 'elementor' ), ]; } protected function register_controls() { $this->start_controls_section( 'section_button', [ 'label' => esc_html__( 'Button', 'elementor' ), ] ); $this->register_button_content_controls(); $this->end_controls_section(); $this->start_controls_section( 'section_style', [ 'label' => esc_html__( 'Button', 'elementor' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->register_button_style_controls(); $this->end_controls_section(); } /** * Render button widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * @access protected */ protected function render() { $this->render_button(); } public function render_markdown(): string { $settings = $this->get_settings_for_display(); $text = Utils::html_to_plain_text( $settings['text'] ?? '' ); if ( empty( $text ) ) { return ''; } if ( ! empty( $settings['link']['url'] ) ) { return '[' . $text . '](' . esc_url( $settings['link']['url'] ) . ')'; } return '**' . $text . '**'; } }