PATH:
home
/
letacommog
/
seneve10
/
wp-content
/
plugins
/
essential-addons-for-elementor-lite
/
includes
/
Elements
<?php namespace Essential_Addons_Elementor\Elements; // If this file is called directly, abort. if (!defined('ABSPATH')) { exit; } use \Elementor\Controls_Manager; use \Elementor\Group_Control_Typography; use \Elementor\Scheme_Typography; use \Elementor\Widget_Base; use \Essential_Addons_Elementor\Classes\Helper; use \Essential_Addons_Elementor\Classes\Controls; class Post_Timeline extends Widget_Base { use \Essential_Addons_Elementor\Traits\Template_Query; public function get_name() { return 'eael-post-timeline'; } public function get_title() { return __('Post Timeline', 'essential-addons-for-elementor-lite'); } public function get_icon() { return 'eaicon-post-timeline'; } public function get_categories() { return ['essential-addons-elementor']; } public function get_keywords() { return [ 'post', 'posts', 'timeline', 'ea post timeline', 'ea posts timeline', 'blog posts', 'content marketing', 'blogger', 'ea', 'essential addons', ]; } public function get_custom_help_url() { return 'https://essential-addons.com/elementor/docs/post-timeline/'; } protected function _register_controls() { /** * Query And Layout Controls! * @source includes/elementor-helper.php */ do_action('eael/controls/query', $this); do_action('eael/controls/layout', $this); if (!apply_filters('eael/pro_enabled', false)) { Helper::go_premium($this); } $this->start_controls_section( 'eael_section_post_timeline_style', [ 'label' => __('Timeline Style', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_timeline_display_overlay', [ 'label' => __('Show Overlay', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SWITCHER, 'label_on' => __('Show', 'essential-addons-for-elementor-lite'), 'label_off' => __('Hide', 'essential-addons-for-elementor-lite'), 'return_value' => 'yes', 'default' => 'yes', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-image' => 'opacity: .6', ], ] ); $this->add_control( 'eael_timeline_overlay_color', [ 'label' => __('Overlay Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'description' => __('Leave blank or Clear to use default gradient overlay', 'essential-addons-for-elementor-lite'), 'default' => 'linear-gradient(45deg, #3f3f46 0%, #05abe0 100%) repeat scroll 0 0 rgba(0, 0, 0, 0)', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-inner' => 'background: {{VALUE}}', ], 'condition' => [ 'eael_timeline_display_overlay' => 'yes', ], ] ); $this->add_control( 'eael_section_post_timeline_line_size', [ 'label' => __('Line Width', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 20, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-post:after' => 'width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'eael_section_post_timeline_line_position_from_right', [ 'label' => __('Line Position From Right', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 20, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-post:after' => 'right: -{{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'eael_section_post_timeline_bullet_size', [ 'label' => __('Bullet Size', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px', '%'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-bullet' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'eael_section_post_timeline_bullet_position_from_left', [ 'label' => __('Left-sided Bullet Positon', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-bullet' => 'right: -{{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'eael_section_post_timeline_bullet_position_from_right', [ 'label' => __('Right-sided Bullet Position', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::SLIDER, 'size_units' => ['px'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 50, 'step' => 1, ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-post:nth-child(2n) .eael-timeline-bullet' => 'left: -{{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'eael_timeline_bullet_color', [ 'label' => __('Timeline Bullet Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#9fa9af', 'selectors' => [ '{{WRAPPER}} .eael-timeline-bullet' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'eael_timeline_bullet_border_color', [ 'label' => __('Timeline Bullet Border Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fff', 'selectors' => [ '{{WRAPPER}} .eael-timeline-bullet' => 'border-color: {{VALUE}};', ], ] ); $this->add_control( 'eael_timeline_vertical_line_color', [ 'label' => __('Timeline Vertical Line Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => 'rgba(83, 85, 86, .2)', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post:after' => 'background-color: {{VALUE}};', ], ] ); $this->add_control( 'eael_timeline_border_color', [ 'label' => __('Border & Arrow Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#e5eaed', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-inner' => 'border-color: {{VALUE}};', '{{WRAPPER}} .eael-timeline-post-inner::after' => 'border-left-color: {{VALUE}};', '{{WRAPPER}} .eael-timeline-post:nth-child(2n) .eael-timeline-post-inner::after' => 'border-right-color: {{VALUE}};', ], ] ); $this->add_control( 'eael_timeline_date_background_color', [ 'label' => __('Date Background Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => 'rgba(0, 0, 0, 0.7)', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post time' => 'background-color: {{VALUE}};', '{{WRAPPER}} .eael-timeline-post time::before' => 'border-bottom-color: {{VALUE}};', ], ] ); $this->add_control( 'eael_timeline_date_color', [ 'label' => __('Date Text Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fff', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post time' => 'color: {{VALUE}};', ], ] ); $this->end_controls_section(); $this->start_controls_section( 'eael_section_typography', [ 'label' => __('Typography', 'essential-addons-for-elementor-lite'), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_control( 'eael_timeline_title_style', [ 'label' => __('Title Style', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_timeline_title_color', [ 'label' => __('Title Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#fff', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-title h2' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'eael_timeline_title_alignment', [ 'label' => __('Title Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => __('Left', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-left', ], 'center' => [ 'title' => __('Center', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-center', ], 'right' => [ 'title' => __('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-right', ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-title h2' => 'text-align: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_timeline_title_typography', 'label' => __('Title Typography', 'essential-addons-for-elementor-lite'), 'scheme' => Scheme_Typography::TYPOGRAPHY_1, 'selector' => '{{WRAPPER}} .eael-timeline-post-title h2', ] ); $this->add_control( 'eael_timeline_excerpt_style', [ 'label' => __('Excerpt Style', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::HEADING, 'separator' => 'before', ] ); $this->add_control( 'eael_timeline_excerpt_color', [ 'label' => __('Excerpt Color', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::COLOR, 'default' => '#ffffff', 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-excerpt p' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'eael_timeline_excerpt_alignment', [ 'label' => __('Excerpt Alignment', 'essential-addons-for-elementor-lite'), 'type' => Controls_Manager::CHOOSE, 'options' => [ 'left' => [ 'title' => __('Left', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-left', ], 'center' => [ 'title' => __('Center', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-center', ], 'right' => [ 'title' => __('Right', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-right', ], 'justify' => [ 'title' => __('Justified', 'essential-addons-for-elementor-lite'), 'icon' => 'fa fa-align-justify', ], ], 'selectors' => [ '{{WRAPPER}} .eael-timeline-post-excerpt p' => 'text-align: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'eael_timeline_excerpt_typography', 'label' => __('Excerpt Typography', 'essential-addons-for-elementor-lite'), 'scheme' => Scheme_Typography::TYPOGRAPHY_3, 'selector' => '{{WRAPPER}} .eael-timeline-post-excerpt p', ] ); $this->end_controls_section(); do_action('eael/controls/load_more_button_style', $this); } protected function render() { $settings = $this->get_settings_for_display(); $settings = Helper::fix_old_query($settings); $args = Helper::get_query_args($settings); $args = Helper::get_dynamic_args($settings, $args); $settings = [ 'eael_show_image' => $settings['eael_show_image'], 'image_size' => $settings['image_size'], 'eael_show_title' => $settings['eael_show_title'], 'eael_show_excerpt' => $settings['eael_show_excerpt'], 'eael_excerpt_length' => $settings['eael_excerpt_length'], 'show_load_more' => $settings['show_load_more'], 'show_load_more_text' => $settings['show_load_more_text'], 'expanison_indicator' => $settings['excerpt_expanison_indicator'], ]; $this->add_render_attribute( 'eael_post_timeline_wrapper', [ 'id' => "eael-post-timeline-{$this->get_id()}", 'class' => 'eael-post-timeline', ] ); $this->add_render_attribute( 'eael_post_timeline', [ 'class' => ['eael-post-timeline', 'eael-post-appender', "eael-post-appender-{$this->get_id()}"], ] ); echo '<div ' . $this->get_render_attribute_string('eael_post_timeline_wrapper') . '> <div ' . $this->get_render_attribute_string('eael_post_timeline') . '>'; $query = new \WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); include($this->get_template('default')); } } else { _e('<p class="no-posts-found">No posts found!</p>', 'essential-addons-for-elementor-lite'); } wp_reset_postdata(); echo '</div> </div>'; if ('yes' == $settings['show_load_more']) { if ($args['posts_per_page'] != '-1') { echo '<div class="eael-load-more-button-wrap"> <button class="eael-load-more-button" id="eael-load-more-btn-' . $this->get_id() . '" data-template='.json_encode([ 'dir' => 'free', 'file_name' => 'default', 'name' => $this->process_directory_name() ], 1).' data-widget="' . $this->get_id() . '" data-class="' . get_class($this) . '" data-args="' . http_build_query($args) . '" data-settings="' . http_build_query($settings) . '" data-page="1"> <div class="eael-btn-loader button__loader"></div> <span>' . esc_html__($settings['show_load_more_text'], 'essential-addons-for-elementor-lite') . '</span> </button> </div>'; } } } }
[+]
..
[-] Testimonial.php
[edit]
[-] Event_Calendar.php
[edit]
[-] Betterdocs_Category_Grid.php
[edit]
[-] Image_Accordion.php
[edit]
[-] EmbedPress.php
[edit]
[-] Countdown.php
[edit]
[-] Betterdocs_Search_Form.php
[edit]
[-] Facebook_Feed.php
[edit]
[-] Sticky_Video.php
[edit]
[-] Progress_Bar.php
[edit]
[-] Woo_Checkout.php
[edit]
[-] WpForms.php
[edit]
[-] Adv_Tabs.php
[edit]
[-] Product_Grid.php
[edit]
[-] Feature_List.php
[edit]
[-] Advanced_Data_Table.php
[edit]
[-] Login_Register.php
[edit]
[-] Twitter_Feed.php
[edit]
[-] Caldera_Forms.php
[edit]
[-] Data_Table.php
[edit]
[-] NinjaForms.php
[edit]
[-] Adv_Accordion.php
[edit]
[-] Filterable_Gallery.php
[edit]
[-] Woocommerce_Review.php
[edit]
[-] Team_Member.php
[edit]
[-] Contact_Form_7.php
[edit]
[-] Fancy_Text.php
[edit]
[-] Post_Grid.php
[edit]
[-] Post_Timeline.php
[edit]
[-] Content_Ticker.php
[edit]
[-] FluentForm.php
[edit]
[-] Pricing_Table.php
[edit]
[-] TypeForm.php
[edit]
[-] Tooltip.php
[edit]
[-] Cta_Box.php
[edit]
[-] Betterdocs_Category_Box.php
[edit]
[-] Career_Page.php
[edit]
[-] Formstack.php
[edit]
[-] Info_Box.php
[edit]
[-] Dual_Color_Header.php
[edit]
[-] Flip_Box.php
[edit]
[-] WeForms.php
[edit]
[-] Creative_Button.php
[edit]
[-] GravityForms.php
[edit]