oont-contents/plugins/elementor-pro/modules/link-in-bio/widgets/link-in-bio-var-2.php
2025-02-08 15:10:23 +01:00

107 lines
2.7 KiB
PHP

<?php
namespace ElementorPro\Modules\LinkInBio\Widgets;
use Elementor\Controls_Manager;
use ElementorPro\Modules\LinkInBio\Base\Widget_Link_In_Bio_Base_Pro;
use ElementorPro\Modules\LinkInBio\Classes\Render\Icons_Below_Cta_Render;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class Link_In_Bio_Var_2 extends Widget_Link_In_Bio_Base_Pro {
public static function get_configuration() {
$config = parent::get_configuration();
$config['content']['bio_section']['description']['default'] = '';
$config['content']['identity_section']['has_heading_text'] = esc_html__( 'Profile', 'elementor-pro' );
$config['content']['identity_section']['has_profile_image_controls'] = true;
$config['content']['identity_section']['identity_image_style'] = false;
$config['content']['cta_section']['cta_repeater_defaults'] = [
[
'cta_link_text' => esc_html__( 'Get Healthy', 'elementor-pro' ),
],
[
'cta_link_text' => esc_html__( 'Top 10 Recipes', 'elementor-pro' ),
],
[
'cta_link_text' => esc_html__( 'Meal Prep', 'elementor-pro' ),
],
];
$config['style']['cta_section']['has_corners']['default'] = 'sharp';
$config['style']['identity_section']['has_profile_image_shape'] = false;
$config['style']['identity_section']['profile_image_max'] = 200;
return $config;
}
public function get_name(): string {
return 'link-in-bio-var-2';
}
public function get_title(): string {
return esc_html__( 'Classic', 'elementor-pro' );
}
public function render(): void {
$render = new Icons_Below_Cta_Render( $this );
$render->render();
}
protected function add_content_tab(): void {
$this->add_identity_section();
$this->add_bio_section();
$this->add_cta_controls();
$this->add_icons_controls();
}
protected function add_style_tab(): void {
$this->add_style_identity_controls();
$this->add_style_bio_controls();
$this->add_style_cta_section();
$this->add_style_icons_controls();
$this->add_style_background_controls();
}
protected function add_style_identity_controls(): void {
$this->start_controls_section(
'identity_section_style',
[
'label' => esc_html__( 'Identity', 'elementor-pro' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'identity_section_style_cover_heading',
[
'label' => esc_html__( 'Cover', 'elementor-pro' ),
'type' => Controls_Manager::HEADING,
'separator' => 'none',
]
);
$this->add_identity_image_cover_control( [] );
$this->add_control(
'identity_section_style_profile_heading',
[
'label' => esc_html__( 'Profile', 'elementor-pro' ),
'type' => Controls_Manager::HEADING,
'separator' => 'before',
]
);
$this->add_identity_image_profile_controls( [] );
$this->end_controls_section();
}
}