Server IP : 66.29.132.124 / Your IP : 3.137.221.252 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/diixadigital.com/wp-content/plugins/meto-plugin/elementor/ |
Upload File : |
<?php namespace METOPLUGIN\Element; use Elementor\Controls_Manager; use Elementor\Controls_Stack; use Elementor\Group_Control_Typography; use Elementor\Scheme_Typography; use Elementor\Scheme_Color; use Elementor\Group_Control_Border; use Elementor\Repeater; use Elementor\Widget_Base; use Elementor\Group_Control_Text_Shadow; use Elementor\Plugin; /** * Elementor button widget. * Elementor widget that displays a button with the ability to control every * aspect of the button design. * * @since 1.0.0 */ class Our_Faqs_V2 extends Widget_Base { /** * Get widget name. * Retrieve button widget name. * * @since 1.0.0 * @access public * @return string Widget name. */ public function get_name() { return 'meto_our_faqs_v2'; } /** * Get widget title. * Retrieve button widget title. * * @since 1.0.0 * @access public * @return string Widget title. */ public function get_title() { return esc_html__( 'Our Faqs V2', 'meto' ); } /** * Get widget icon. * Retrieve button widget icon. * * @since 1.0.0 * @access public * @return string Widget icon. */ public function get_icon() { return 'eicon-library-open'; } /** * Get widget categories. * Retrieve the list of categories the button widget belongs to. * Used to determine where to display the widget in the editor. * * @since 2.0.0 * @access public * @return array Widget categories. */ public function get_categories() { return [ 'meto' ]; } /** * Register button widget controls. * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.0.0 * @access protected */ protected function register_controls() { $this->start_controls_section( 'our_faqs_v2', [ 'label' => esc_html__( 'Our Faqs V2', 'meto' ), ] ); $this->add_control( 'subtitle', [ 'label' => __( 'Sub Title', 'meto' ), 'type' => Controls_Manager::TEXT, 'dynamic' => [ 'active' => true, ], 'placeholder' => __( 'Enter your Sub Title', 'meto' ), ] ); $this->add_control( 'title', [ 'label' => __( 'Title', 'meto' ), 'type' => Controls_Manager::TEXTAREA, 'dynamic' => [ 'active' => true, ], 'placeholder' => __( 'Enter your Title', 'meto' ), ] ); $this->add_control( 'text', [ 'label' => __( 'Description', 'meto' ), 'type' => Controls_Manager::TEXTAREA, 'dynamic' => [ 'active' => true, ], 'placeholder' => __( 'Enter your Description', 'meto' ), ] ); $this->add_control( 'query_number', [ 'label' => esc_html__( 'Number of post', 'meto' ), 'type' => Controls_Manager::NUMBER, 'default' => 3, 'min' => 1, 'max' => 100, 'step' => 1, ] ); $this->add_control( 'text_limit', [ 'label' => esc_html__( 'Text Limit', 'meto' ), 'type' => Controls_Manager::NUMBER, 'default' => 3, 'min' => 1, 'max' => 100, 'step' => 1, ] ); $this->add_control( 'query_orderby', [ 'label' => esc_html__( 'Order By', 'meto' ), 'type' => Controls_Manager::SELECT, 'default' => 'date', 'options' => array( 'date' => esc_html__( 'Date', 'meto' ), 'title' => esc_html__( 'Title', 'meto' ), 'menu_order' => esc_html__( 'Menu Order', 'meto' ), 'rand' => esc_html__( 'Random', 'meto' ), ), ] ); $this->add_control( 'query_order', [ 'label' => esc_html__( 'Order', 'meto' ), 'type' => Controls_Manager::SELECT, 'default' => 'DESC', 'options' => array( 'DESc' => esc_html__( 'DESC', 'meto' ), 'ASC' => esc_html__( 'ASC', 'meto' ), ), ] ); $this->add_control( 'query_exclude', [ 'label' => esc_html__( 'Exclude', 'meto' ), 'type' => Controls_Manager::TEXT, 'description' => esc_html__( 'Exclude posts, pages, etc. by ID with comma separated.', 'meto' ), ] ); $this->add_control( 'query_category', [ 'type' => Controls_Manager::SELECT, 'label' => esc_html__('Category', 'meto'), 'options' => get_faqs_categories() ] ); $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() { $settings = $this->get_settings_for_display(); $allowed_tags = wp_kses_allowed_html('post'); $paged = meto_set($_POST, 'paged') ? esc_attr($_POST['paged']) : 1; $this->add_render_attribute( 'wrapper', 'class', 'templatepath-meto' ); $args = array( 'post_type' => 'meto_faqs', 'posts_per_page' => meto_set( $settings, 'query_number' ), 'orderby' => meto_set( $settings, 'query_orderby' ), 'order' => meto_set( $settings, 'query_order' ), 'paged' => $paged ); if ( meto_set( $settings, 'query_exclude' ) ) { $settings['query_exclude'] = explode( ',', $settings['query_exclude'] ); $args['post__not_in'] = meto_set( $settings, 'query_exclude' ); } if( meto_set( $settings, 'query_category' ) ) $args['faqs_cat'] = meto_set( $settings, 'query_category' ); $query = new \WP_Query( $args ); if ( $query->have_posts()) { $count = 1; $left_arr = array(); $right_arr = array(); ?> <?php while ( $query->have_posts() ) : $query->the_post(); if($count > 2) $count = 1; $active_block = ( $query->current_post == 0 ) ? 'active-block' : ''; $active = ( $query->current_post == 0 ) ? 'active' : ''; $current = ( $query->current_post == 0 ) ? 'current' : ''; ?> <?php if( ($count == 1)): $left_arr[get_the_id()] = ' <li class="accordion block '.$active_block.'"> <div class="acc-btn '.$active.'"><div class="icon-outer"><span class="icon icon-plus fa fa-plus"></span> <span class="icon icon-minus fa fa-minus"></span></div>'.get_the_title(get_the_id()).'</div> <div class="acc-content '.$current.'"> <div class="content"> <div class="text">'.meto_trim(get_the_content(), $settings['text_limit']).'</div> </div> </div> </li>'; ?> <?php else: $right_arr[get_the_id()] = ' <li class="accordion block"> <div class="acc-btn"><div class="icon-outer"><span class="icon icon-plus fa fa-plus"></span> <span class="icon icon-minus fa fa-minus"></span></div>'.get_the_title(get_the_id()).'</div> <div class="acc-content"> <div class="content"> <div class="text">'.meto_trim(get_the_content(), $settings['text_limit']).'</div> </div> </div> </li>'; ?> <?php endif; ?> <?php $count++; endwhile; ?> <!-- Faq Page Section --> <section class="faq-page-section"> <div class="auto-container"> <?php if($settings['subtitle'] || $settings['title'] || $settings['text']){ ?> <!-- Sec Title --> <div class="sec-title"> <?php if($settings['subtitle']){ ?><div class="title"><?php echo wp_kses($settings['subtitle'], $allowed_tags);?></div><?php } ?> <?php if($settings['title']){ ?><h2><?php echo wp_kses($settings['title'], $allowed_tags);?></h2><?php } ?> <?php if($settings['text']){ ?><div class="text"><?php echo wp_kses($settings['text'], $allowed_tags);?></div><?php } ?> </div> <?php } ?> <div class="row clearfix"> <!-- Faq Column --> <div class="faq-column col-lg-6 col-md-12 col-sm-12"> <div class="inner-column"> <!-- Accordian Box --> <ul class="accordion-box"> <?php foreach($left_arr as $key => $content):?> <?php echo wp_kses_post($content);?> <?php endforeach;?> </ul> </div> </div> <!-- Faq Column --> <div class="faq-column col-lg-6 col-md-12 col-sm-12"> <div class="inner-column"> <!-- Accordian Box --> <ul class="accordion-box"> <?php foreach($right_arr as $key => $right_content):?> <?php echo wp_kses_post($right_content);?> <?php endforeach;?> </ul> </div> </div> </div> </div> </section> <!-- End About Section --> <?php } wp_reset_postdata(); } }