Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
firepot
/
wp-content
/
plugins
/
cyarb-toolkit
/
widgets
:
cta-area.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Elementor; class CTAWidget extends Widget_Base{ public function get_name(){ return "CTA-widget"; } public function get_title(){ return "CTA Area"; } public function get_icon(){ return "eicon-info-box"; } public function get_categories(){ return ['cyarb-elements']; } protected function register_controls(){ // Tab content controls $this-> start_controls_section( 'section_content', [ 'label' => __('Content', 'cyarb-toolkit'), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'choose_style', [ 'label' => __( 'Choose Style', 'cyarb-toolkit' ), 'type' => Controls_Manager::SELECT, 'options' => [ '1' => __( 'Style One', 'cyarb-toolkit' ), '2' => __( 'Style Two', 'cyarb-toolkit' ), ], 'default' => '1', ] ); $this->add_control( 'title', [ 'label' => __( 'Add Title', 'cyarb-toolkit' ), 'type' => Controls_Manager:: TEXTAREA, 'label_block' => true, ] ); $this->add_control( 'title_tag', [ 'label' => esc_html__( 'Title Tag', 'cyarb-toolkit' ), 'type' => Controls_Manager::SELECT, 'options' => [ 'h1' => esc_html__( 'h1', 'cyarb-toolkit' ), 'h2' => esc_html__( 'h2', 'cyarb-toolkit' ), 'h3' => esc_html__( 'h3', 'cyarb-toolkit' ), 'h4' => esc_html__( 'h4', 'cyarb-toolkit' ), 'h5' => esc_html__( 'h5', 'cyarb-toolkit' ), 'h6' => esc_html__( 'h6', 'cyarb-toolkit' ), ], 'default' => 'h2', ] ); $this->add_control( 'button_text', [ 'label' => __( 'Button Text', 'cyarb-toolkit' ), 'type' => Controls_Manager::TEXT, 'default' => __('Get A Free Quote', 'cyarb-toolkit'), ] ); $this->add_control( 'link_type', [ 'label' => __( 'Link Type', 'cyarb-toolkit' ), 'type' => Controls_Manager::SELECT, 'label_block' => true, 'options' => [ '1' => __( 'Link To Page', 'cyarb-toolkit' ), '2' => __( 'External Link', 'cyarb-toolkit' ), ], ] ); $this->add_control( 'link_to_page', [ 'label' => __( 'Link Page', 'cyarb-toolkit' ), 'type' => Controls_Manager::SELECT, 'label_block' => true, 'options' => cyarb_toolkit_get_page_as_list(), 'condition' => [ 'link_type' => '1', ] ] ); $this->add_control( 'external_link', [ 'label' =>__('External Link', 'cyarb-toolkit'), 'type' => Controls_Manager:: TEXT, 'condition' => [ 'link_type' => '2', ] ] ); //Target Page $this->add_control( 'target_page', [ 'label' => __( 'Link Open In New Tab?', 'cyarb-toolkit' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => __( 'Yes', 'cyarb-toolkit' ), 'label_off' => __( 'No', 'cyarb-toolkit' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this-> end_controls_section(); $this->start_controls_section( 'section_images', [ 'label' => esc_html__( 'Images', 'cyarb-toolkit' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'fimage', [ 'label' => esc_html__( 'Add Background Image', 'cyarb-toolkit' ), 'type' => Controls_Manager::MEDIA, 'condition' => [ 'choose_style' => '1', ] ] ); //Shape Images $this->add_control( 'image_shape', [ 'label' => esc_html__( 'Hide Shapes?', 'cyarb-toolkit' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Show', 'cyarb-toolkit' ), 'label_off' => esc_html__( 'Hide', 'cyarb-toolkit' ), 'return_value' => 'yes', 'default' => 'yes', ] ); $this->add_control( 'shape1', [ 'label' => esc_html__( 'Add Shape', 'cyarb-toolkit' ), 'type' => Controls_Manager::MEDIA, 'condition' => [ 'image_shape' => 'yes', ] ] ); $this->add_control( 'shape2', [ 'label' => esc_html__( 'Add Shape 2', 'cyarb-toolkit' ), 'type' => Controls_Manager::MEDIA, 'condition' => [ 'image_shape' => 'yes', ] ] ); $this->end_controls_section(); // End Tab content controls // Start Style content controls $this-> start_controls_section( 'content_style', [ 'label' =>__('Content', 'cyarb-toolkit'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'section_bg_color', [ 'label' => __( 'Section Background Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .cta-inner' => 'background-color: {{VALUE}}', ], 'condition' => [ 'choose_style' => '1', ] ] ); $this->add_control( 'sec_head', [ 'label' => esc_html__( 'Section Background Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'choose_style' => '2', ] ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'section_bg2_color', 'types' => ['gradient' ], 'selector' => '{{WRAPPER}} .cta-style-two-area', 'condition' => [ 'choose_style' => '2', ] ] ); $this->add_control( 'onedivider', [ 'type' => Controls_Manager::DIVIDER, ] ); $this->add_control( 'twodivider', [ 'type' => Controls_Manager::DIVIDER, ] ); $this->add_control( 'title_color', [ 'label' => __( 'Title Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .cta-inner h1, .cta-inner h2, .cta-inner h3, .cta-inner h4, .cta-inner h5, .cta-inner h6, .cta-inner-box-content h2, .cta-inner-box-content h1, .cta-inner-box-content h3, .cta-inner-box-content h4, .cta-inner-box-content h5, .cta-inner-box-content h6' => 'color: {{VALUE}}', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'title_type_typography', 'label' => __( 'Title Typography', 'cyarb-toolkit' ), 'selector' => '{{WRAPPER}} .cta-inner h1, .cta-inner h2, .cta-inner h3, .cta-inner h4, .cta-inner h5, .cta-inner h6, .cta-inner-box-content h2, .cta-inner-box-content h1, .cta-inner-box-content h3, .cta-inner-box-content h4, .cta-inner-box-content h5, .cta-inner-box-content h6', ] ); $this->add_control( 'btn_color', [ 'label' => __( 'Button Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .cta-inner .default-btn, .default-btn-two' => 'color: {{VALUE}}', ], ] ); $this->add_control( 'btn_bgcolor', [ 'label' => __( 'Button Background Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .cta-inner .default-btn' => 'background-color: {{VALUE}}', ], 'condition' => [ 'choose_style' => '1', ] ] ); $this->add_control( 'btn_bg_head', [ 'label' => esc_html__( 'Button Background Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'choose_style' => '2', ] ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'btn_bg2_color', 'types' => ['gradient' ], 'selector' => '{{WRAPPER}} .cta-inner-box-content .default-btn-two', 'condition' => [ 'choose_style' => '2', ] ] ); $this->add_control( 'threedivider', [ 'type' => Controls_Manager::DIVIDER, ] ); $this->add_control( 'fourdivider', [ 'type' => Controls_Manager::DIVIDER, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'btn_type_typography', 'label' => __( 'Button Typography', 'cyarb-toolkit' ), 'selector' => '{{WRAPPER}} .cta-inner .default-btn, .default-btn-two', ] ); $this->add_control( 'btn_hcolor', [ 'label' => __( 'Button Hover Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .cta-inner .default-btn:hover, .default-btn-two:hover' => 'color: {{VALUE}}', ], ] ); $this->add_control( 'btn_hbgcolor', [ 'label' => __( 'Button Background Hover Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .cta-inner .default-btn:hover, .default-btn span::before, .default-btn span::after, .default-btn:hover::before, .default-btn:hover::after' => 'background-color: {{VALUE}}', ], 'condition' => [ 'choose_style' => '1', ] ] ); $this->add_control( 'btn_hbg_head', [ 'label' => esc_html__( 'Button Hover Background Color', 'cyarb-toolkit' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'choose_style' => '2', ] ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'btn_hbg2_color', 'types' => ['gradient' ], 'selector' => '{{WRAPPER}} .default-btn-two::before', 'condition' => [ 'choose_style' => '2', ] ] ); $this-> end_controls_section(); } protected function render() { // Retrieve all controls value $settings = $this->get_settings_for_display(); $btn1_text = $settings['button_text']; // Button Link $link_source = ''; if( $settings['link_type'] == 1 ){ $link_source = get_page_link($settings['link_to_page']); } else { $link_source = $settings['external_link']; } ?> <?php if( $settings['choose_style'] == '1' ): ?> <div class="cta-area pb-100"> <div class="container"> <div class="cta-inner" style="background-image:url(<?php echo esc_url( $settings['fimage']['url'] ); ?>);"> <<?php echo esc_attr( $settings['title_tag'] ); ?>><?php echo esc_html( $settings['title'] ); ?></<?php echo esc_attr( $settings['title_tag'] ); ?>> <?php if($btn1_text != '') { if ( 'yes' === $settings['target_page'] ) { ?> <a target="_blank" href="<?php echo esc_url($link_source); ?>" class="default-btn"> <span><?php echo esc_html($btn1_text); ?></span> </a> <?php } else { ?> <a href="<?php echo esc_url($link_source); ?>" class="default-btn"> <span><?php echo esc_html($btn1_text); ?></span> </a> <?php } } ?> <?php if ( 'yes' === $settings['image_shape'] ) : ?> <?php if( $settings['shape1']['url'] != '' ) : ?> <div class="shape9"><img src="<?php echo esc_url( $settings['shape1']['url'] ); ?>" alt="<?php echo esc_attr__( 'Shape', 'cyarb-toolkit' ); ?>"></div> <?php endif; ?> <?php if( $settings['shape2']['url'] != '' ) : ?> <div class="shape10"><img src="<?php echo esc_url( $settings['shape2']['url'] ); ?>" alt="<?php echo esc_attr__( 'Shape2', 'cyarb-toolkit' ); ?>"></div> <?php endif; ?> <?php endif; ?> </div> </div> </div> <?php else: ?> <div class="cta-style-two-area ptb-100"> <div class="container"> <div class="cta-inner-box-content"> <<?php echo esc_attr( $settings['title_tag'] ); ?>><?php echo esc_html( $settings['title'] ); ?></<?php echo esc_attr( $settings['title_tag'] ); ?>> <?php if($btn1_text != '') { if ( 'yes' === $settings['target_page'] ) { ?> <a target="_blank" href="<?php echo esc_url($link_source); ?>" class="default-btn-two"> <span><?php echo esc_html($btn1_text); ?></span> </a> <?php } else { ?> <a href="<?php echo esc_url($link_source); ?>" class="default-btn-two"> <span><?php echo esc_html($btn1_text); ?></span> </a> <?php } } ?> <?php if ( 'yes' === $settings['image_shape'] ) : ?> <?php if( $settings['shape1']['url'] != '' ) : ?> <div class="shape9"><img src="<?php echo esc_url( $settings['shape1']['url'] ); ?>" alt="<?php echo esc_attr__( 'Shape', 'cyarb-toolkit' ); ?>"></div> <?php endif; ?> <?php if( $settings['shape2']['url'] != '' ) : ?> <div class="shape10"><img src="<?php echo esc_url( $settings['shape2']['url'] ); ?>" alt="<?php echo esc_attr__( 'Shape2', 'cyarb-toolkit' ); ?>"></div> <?php endif; ?> <?php endif; ?> </div> </div> </div> <?php endif; ?> <?php } } Plugin::instance()->widgets_manager->register_widget_type( new CTAWidget );