File manager - Edit - /home/verseaumee/lauvia/wp-content/plugins/trx_addons/components/api/tourmaster/tourmaster-sc-elementor.php
Back
<?php /** * Plugin support: Tour Master (Elementor support) * * @package ThemeREX Addons * @since v1.6.38 */ // Don't load directly if ( ! defined( 'TRX_ADDONS_VERSION' ) ) { exit; } // Elementor Widgets //------------------------------------------------------ if ( ! function_exists( 'trx_addons_sc_tourmaster_add_in_elementor_ttc' ) ) { add_action( trx_addons_elementor_get_action_for_widgets_registration(), 'trx_addons_sc_tourmaster_add_in_elementor_ttc' ); /** * Register Tourmaster Tour Category widget in Elementor * * @hooked elementor/widgets/register */ function trx_addons_sc_tourmaster_add_in_elementor_ttc() { if ( ! trx_addons_exists_tourmaster() || ! class_exists( 'TRX_Addons_Elementor_Widget' ) ) { return; } class TRX_Addons_Elementor_Widget_Tourmaster_Tour_Category extends TRX_Addons_Elementor_Widget { /** * Widget base constructor. * * Initializing the widget base class. * * @since 1.6.41 * @access public * * @param array $data Widget data. Default is an empty array. * @param array|null $args Optional. Widget default arguments. Default is null. */ public function __construct( $data = [], $args = null ) { parent::__construct( $data, $args ); $this->add_plain_params([ 'num-fetch' => 'size', 'column-size' => 'size' ]); } /** * Retrieve widget name. * * @since 1.6.41 * @access public * * @return string Widget name. */ public function get_name() { return 'tourmaster_tour_category'; } /** * Retrieve widget title. * * @since 1.6.41 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Tourmaster Categories', 'trx_addons' ); } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.27.2 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'tour', 'trip', 'journey', 'travel', 'categories' ]; } /** * Retrieve widget icon. * * @since 1.6.41 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-image-hotspot trx_addons_elementor_widget_icon'; } /** * Retrieve the list of categories the widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.6.41 * @access public * * @return array Widget categories. */ public function get_categories() { return ['trx_addons-elements']; } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.6.41 * @access protected */ protected function register_controls() { // Detect edit mode $is_edit_mode = trx_addons_elm_is_edit_mode(); // Register controls $this->start_controls_section( 'section_sc_tourmaster_category', [ 'label' => __( 'Tour Category', 'trx_addons' ), ] ); $this->add_control( 'filter-type', [ 'label' => __( 'Filter Type', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_taxonomies(false, TRX_ADDONS_TOURMASTER_CPT_TOUR), 'default' => TRX_ADDONS_TOURMASTER_TAX_TOUR_CATEGORY ] ); $this->add_control( 'num-fetch', [ 'label' => __( 'Display Number', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 3 ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 12 ] ] ] ); $this->add_control( 'column-size', [ 'label' => __( 'Columns', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 3 ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 5 ] ] ] ); /* $this->add_control( 'column-size', [ 'label' => __( 'Columns', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ '1' => "60", '2' => "30", '3' => "20", '4' => "15", '5' => "12" ], 'default' => '3' ] ); */ $this->add_control( 'style', [ 'label' => __( 'Style', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'widget' => esc_html__('Widget', 'trx_addons'), 'grid' => esc_html__('Grid', 'trx_addons'), 'grid-2' => esc_html__('Grid 2', 'trx_addons'), ], 'default' => 'widget' ] ); $this->add_control( 'thumbnail-size', [ 'label' => __( 'Thumbnail Size', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_thumbnail_sizes(), 'default' => 'thumbnail' ] ); $this->add_control( 'orderby', [ 'label' => __( 'Order by', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'name' => esc_html__('Name', 'trx_addons'), 'slug' => esc_html__('Slug', 'trx_addons'), 'term_id' => esc_html__('Term ID', 'trx_addons'), ], 'default' => 'name' ] ); $this->add_control( 'order', [ 'label' => __( 'Order', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_sc_query_orders(), 'default' => 'asc' ] ); $this->end_controls_section(); } // Return widget's layout public function render() { if ( shortcode_exists( 'tourmaster_tour_category' ) ) { $atts = $this->sc_prepare_atts( $this->get_settings(), $this->get_sc_name() ); trx_addons_show_layout( do_shortcode( sprintf( '[tourmaster_tour_category' . ' filter-type="%1$s"' . ' num-fetch="%2$s"' . ' column-size="%3$s"' . ' style="%4$s"' . ' thumbnail-size="%5$s"' . ' orderby="%6$s"' . ' order="%7$s"' . ']', $atts['filter-type'], $atts['num-fetch'], $atts['column-size'], $atts['style'], $atts['thumbnail-size'], $atts['orderby'], $atts['order'] ) ) ); } else $this->shortcode_not_exists('tourmaster_tour_category', 'Tourmaster'); } } // Register widget trx_addons_elm_register_widget( 'TRX_Addons_Elementor_Widget_Tourmaster_Tour_Category' ); } } if ( ! function_exists( 'trx_addons_sc_tourmaster_add_in_elementor_tt' ) ) { add_action( trx_addons_elementor_get_action_for_widgets_registration(), 'trx_addons_sc_tourmaster_add_in_elementor_tt' ); /** * Add Tourmaster Tour widget to Elementor * * @hooked elementor/widgets/register */ function trx_addons_sc_tourmaster_add_in_elementor_tt() { if ( ! trx_addons_exists_tourmaster() || ! class_exists( 'TRX_Addons_Elementor_Widget' ) ) { return; } class TRX_Addons_Elementor_Widget_Tourmaster_Tour extends TRX_Addons_Elementor_Widget { /** * Widget base constructor. * * Initializing the widget base class. * * @since 1.6.41 * @access public * * @param array $data Widget data. Default is an empty array. * @param array|null $args Optional. Widget default arguments. Default is null. */ public function __construct( $data = [], $args = null ) { parent::__construct( $data, $args ); $this->add_plain_params([ 'num-fetch' => 'size', 'column-size' => 'size', 'excerpt-number' => 'size' ]); } /** * Retrieve widget name. * * @since 1.6.41 * @access public * * @return string Widget name. */ public function get_name() { return 'tourmaster_tour'; } /** * Retrieve widget title. * * @since 1.6.41 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Tourmaster Tour', 'trx_addons' ); } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.27.2 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'tour', 'trip', 'journey', 'travel' ]; } /** * Retrieve widget icon. * * @since 1.6.41 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-image-hotspot trx_addons_elementor_widget_icon'; } /** * Retrieve the list of categories the widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.6.41 * @access public * * @return array Widget categories. */ public function get_categories() { return ['trx_addons-elements']; } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.6.41 * @access protected */ protected function register_controls() { // Detect edit mode $is_edit_mode = trx_addons_elm_is_edit_mode(); // Register controls $this->start_controls_section( 'section_sc_tourmaster_tour', [ 'label' => __( 'Tourmaster Tour', 'trx_addons' ), ] ); $this->add_control( 'category', [ 'label' => __( 'Category', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT2, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_terms(false, TRX_ADDONS_TOURMASTER_TAX_TOUR_CATEGORY, array( 'hide_empty' => 1, 'return_key' => 'slug')), 'multiple' => true ] ); $this->add_control( 'tag', [ 'label' => __( 'Tag', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT2, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_terms(false, TRX_ADDONS_TOURMASTER_TAX_TOUR_TAG, array( 'hide_empty' => 1, 'return_key' => 'slug')), 'multiple' => true ] ); $this->add_control( 'discount-status', [ 'label' => __( 'Discount Status', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'all' => esc_html__('All', 'trx_addons'), 'discount' => esc_html__('Discounted Tour (tour with discount text filled)', 'trx_addons'), ], 'default' => 'all' ] ); $this->add_control( 'num-fetch', [ 'label' => __( 'Display Number', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 3 ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 12 ] ] ] ); $this->add_control( 'orderby', [ 'label' => __( 'Order by', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'date' => esc_html__('Publish Date', 'trx_addons'), 'title' => esc_html__('Title', 'trx_addons'), 'rand' => esc_html__('Random', 'trx_addons'), 'menu_order' => esc_html__('Menu Order', 'trx_addons'), 'price' => esc_html__('Price', 'trx_addons'), 'duration' => esc_html__('Duration', 'trx_addons'), 'popularity' => esc_html__('Popularity ( View Count )', 'trx_addons'), 'rating' => esc_html__('Rating ( Score )', 'trx_addons'), ], 'default' => 'date' ] ); $this->add_control( 'order', [ 'label' => __( 'Order', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_sc_query_orders(), 'default' => 'desc' ] ); $this->add_control( 'pagination', [ 'label' => __( 'Pagination', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'none' => esc_html__('None', 'trx_addons'), 'page' => esc_html__('Page', 'trx_addons'), 'load-more' => esc_html__('Load More', 'trx_addons'), ], 'default' => 'none' ] ); $this->add_control( 'pagination-style', [ 'label' => __( 'Pagination Style', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'default' => esc_html__('Default', 'trx_addons'), 'plain' => esc_html__('Plain', 'trx_addons'), 'rectangle' => esc_html__('Rectangle', 'trx_addons'), 'rectangle-border' => esc_html__('Rectangle Border', 'trx_addons'), 'round' => esc_html__('Round', 'trx_addons'), 'round-border' => esc_html__('Round Border', 'trx_addons'), 'circle' => esc_html__('Circle', 'trx_addons'), 'circle-border' => esc_html__('Circle Border', 'trx_addons'), ], 'default' => 'default' ] ); $this->add_control( 'pagination-align', [ 'label' => __( 'Pagination Align', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_sc_aligns(false, false), 'default' => 'left', 'condition' => [ 'pagination' => 'page' ] ] ); $this->end_controls_section(); $this->start_controls_section( 'section_sc_tourmaster_tour_filterer', [ 'label' => __( 'Filterer', 'trx_addons' ), ] ); $this->add_control( 'enable-order-filterer', [ 'label' => __( 'Order Filterer', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'enable' => esc_html__('Enable', 'trx_addons'), 'disable' => esc_html__('Disable', 'trx_addons'), ], 'default' => 'disable' ] ); $this->add_control( 'order-filterer-list-style', [ 'label' => __( 'Order Filterer List Style', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'none' => esc_html__('None', 'trx_addons'), 'full' => esc_html__('Full', 'trx_addons'), 'full-with-frame' => esc_html__('Full With Frame', 'trx_addons'), 'medium' => esc_html__('Medium', 'trx_addons'), 'medium-with-frame' => esc_html__('Medium With Frame', 'trx_addons'), 'widget' => esc_html__('Widget', 'trx_addons'), ], 'default' => 'none', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'enable-order-filterer' => 'enable' ] */ ] ); $this->add_control( 'order-filterer-list-style-thumbnail', [ 'label' => __( 'Order Filterer List Style Thumbnail', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_thumbnail_sizes(), 'default' => 'thumbnail', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'enable-order-filterer' => 'enable' ] */ ] ); $this->add_control( 'order-filterer-grid-style', [ 'label' => __( 'Order Filterer Grid Style', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'none' => esc_html__('None', 'trx_addons'), 'modern' => esc_html__('Modern', 'trx_addons'), 'modern-no-space' => esc_html__('Modern No Space', 'trx_addons'), 'grid' => esc_html__('Grid', 'trx_addons'), 'grid-with-frame' => esc_html__('Grid With Frame', 'trx_addons'), 'grid-no-space' => esc_html__('Grid No Space', 'trx_addons'), ], 'default' => 'none', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'enable-order-filterer' => 'enable' ] */ ] ); $this->add_control( 'order-filterer-grid-style-thumbnail', [ 'label' => __( 'Order Filterer Grid Style Thumbnail', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_thumbnail_sizes(), 'default' => 'thumbnail', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'enable-order-filterer' => 'enable' ] */ ] ); $this->end_controls_section(); $this->start_controls_section( 'section_sc_tourmaster_tour_style', [ 'label' => __( 'Style', 'trx_addons' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE ] ); $this->add_control( 'tour-style', [ 'label' => __( 'Tour Style', 'trx_addons' ), 'label_block' => true, 'type' => 'trx_icons', 'mode' => 'inline', 'return' => 'slug', 'style' => 'images', 'options' => apply_filters('trx_addons_sc_type', array( 'full' => TOURMASTER_URL . '/images/tour-style/full.jpg', 'full-with-frame' => TOURMASTER_URL . '/images/tour-style/full-with-frame.jpg', 'medium' => TOURMASTER_URL . '/images/tour-style/medium.jpg', 'medium-with-frame' => TOURMASTER_URL . '/images/tour-style/medium-with-frame.jpg', 'modern' => TOURMASTER_URL . '/images/tour-style/modern.jpg', 'modern-no-space' => TOURMASTER_URL . '/images/tour-style/modern-no-space.jpg', 'grid' => TOURMASTER_URL . '/images/tour-style/grid.jpg', 'grid-with-frame' => TOURMASTER_URL . '/images/tour-style/grid-with-frame.jpg', 'grid-no-space' => TOURMASTER_URL . '/images/tour-style/grid-no-space.jpg', 'widget' => TOURMASTER_URL . '/images/tour-style/widget.jpg', ), 'tourmaster_tour' ), 'default' => 'full' ] ); $this->add_control( 'column-size', [ 'label' => __( 'Columns', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 3 ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 5 ] ], /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['modern', 'modern-no-space', 'grid', 'grid-with-frame', 'grid-no-space'] ] */ ] ); $this->add_control( 'thumbnail-size', [ 'label' => __( 'Thumbnail Size', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => ! $is_edit_mode ? array() : trx_addons_get_list_thumbnail_sizes(), 'default' => 'thumbnail', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['modern', 'modern-no-space', 'grid', 'grid-with-frame', 'grid-no-space', 'full', 'full-with-frame', 'medium', 'medium-with-frame'] ] */ ] ); $this->add_control( 'layout', [ 'label' => __( 'Layout', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'fitrows' => esc_html__('Fit Rows', 'trx_addons'), 'carousel' => esc_html__('Carousel', 'trx_addons'), 'masonry' => esc_html__('Masonry', 'trx_addons'), ], 'default' => 'fitrows', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['modern', 'modern-no-space', 'grid', 'grid-with-frame', 'grid-no-space'] ] */ ] ); $this->add_control( 'price-position', [ 'label' => __( 'Price Display Position', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'right-title' => esc_html__('Right Side Of The Title', 'trx_addons'), 'bottom-title' => esc_html__('Bottom Of The Title', 'trx_addons'), 'bottom-bar' => esc_html__('As Bottom Bar', 'trx_addons'), ], 'default' => 'right-title', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['grid', 'grid-with-frame', 'grid-no-space'] ] */ ] ); $this->add_control( 'carousel-autoslide', [ 'label' => __( 'Autoslide Carousel', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'enable' => esc_html__('Enable', 'trx_addons'), 'disable' => esc_html__('Disable', 'trx_addons') ], 'default' => 'enable', 'condition' => [ 'layout' => 'carousel' ] ] ); $this->add_control( 'carousel-navigation', [ 'label' => __( 'Carousel Navigation', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'none' => esc_html__('None', 'trx_addons'), 'navigation' => esc_html__('Only Navigation', 'trx_addons'), 'bullet' => esc_html__('Only Bullet', 'trx_addons'), 'both' => esc_html__('Both Navigation and Bullet', 'trx_addons'), ], 'default' => 'navigation', 'condition' => [ 'layout' => 'carousel' ] ] ); $this->add_control( 'tour-info', [ 'label' => __( 'Tour Info', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT2, 'options' => [ 'duration-text' => esc_html__('Duration', 'trx_addons'), 'availability' => esc_html__('Availability', 'trx_addons'), 'departure-location' => esc_html__('Departure Location', 'trx_addons'), 'return-location' => esc_html__('Return Location', 'trx_addons'), 'minimum-age' => esc_html__('Minimum Age', 'trx_addons'), 'maximum-people' => esc_html__('Maximum People', 'trx_addons'), 'custom-excerpt' => esc_html__('Custom Excerpt ( In Tour Option )', 'trx_addons'), ], 'multiple' => true, 'default' => ['duration-text'], /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['modern', 'modern-no-space', 'grid', 'grid-with-frame', 'grid-no-space', 'full', 'full-with-frame', 'medium', 'medium-with-frame'] ] */ ] ); $this->add_control( 'tour-rating', [ 'label' => __( 'Tour Rating', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'enable' => esc_html__('Enable', 'trx_addons'), 'disable' => esc_html__('Disable', 'trx_addons'), ], 'default' => 'enable', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['full', 'full-with-frame', 'medium', 'medium-with-frame', 'grid', 'grid-with-frame', 'grid-no-space'] ] */ ] ); $this->add_control( 'excerpt', [ 'label' => __( 'Excerpt Type', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'specify-number' => esc_html__('Specify Number', 'trx_addons'), 'show-all' => esc_html__('Show All ( use <!--more--> tag to cut the content )', 'trx_addons'), 'none' => esc_html__('Disable Exceprt', 'trx_addons'), ], 'default' => 'specify-number', /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'tour-style' => ['full', 'full-with-frame', 'medium', 'medium-with-frame', 'grid', 'grid-with-frame', 'grid-no-space'] ] */ ] ); $this->add_control( 'excerpt-number', [ 'label' => __( 'Excerpt Words', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 55 ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 200 ] ], 'condition' => [ 'excerpt' => 'specify-number' ] ] ); $this->end_controls_section(); } // Return widget's layout public function render() { if (shortcode_exists('tourmaster_tour')) { $atts = $this->sc_prepare_atts($this->get_settings(), $this->get_sc_name()); trx_addons_show_layout(do_shortcode(sprintf('[tourmaster_tour' . ' category="%1$s"' . ' tag="%2$s"' . ' discount-status="%3$s"' . ' num-fetch="%4$s"' . ' orderby="%5$s"' . ' order="%6$s"' . ' pagination="%7$s"' . ' pagination-style="%8$s"' . ' pagination-align="%9$s"' . ' enable-order-filterer="%10$s"' . ' order-filterer-list-style="%11$s"' . ' order-filterer-list-style-thumbnail="%12$s"' . ' order-filterer-grid-style="%13$s"' . ' order-filterer-grid-style-thumbnail="%14$s"' . ' tour-style="%15$s"' . ' column-size="%16$s"' . ' thumbnail-size="%17$s"' . ' layout="%18$s"' . ' price-position="%19$s"' . ' carousel-autoslide="%20$s"' . ' carousel-navigation="%21$s"' . ' tour-info="%22$s"' . ' tour-rating="%23$s"' . ' excerpt="%24$s"' . ' excerpt-number="%25$s"' . ']', is_array($atts['category']) ? join(',', $atts['category']) : '', is_array($atts['tag']) ? join(',', $atts['tag']) : '', $atts['discount-status'], $atts['num-fetch'], $atts['orderby'], $atts['order'], $atts['pagination'], $atts['pagination-style'], $atts['pagination-align'], $atts['enable-order-filterer'], $atts['order-filterer-list-style'], $atts['order-filterer-list-style-thumbnail'], $atts['order-filterer-grid-style'], $atts['order-filterer-grid-style-thumbnail'], $atts['tour-style'], $atts['column-size'], $atts['thumbnail-size'], $atts['layout'], $atts['price-position'], $atts['carousel-autoslide'], $atts['carousel-navigation'], is_array($atts['tour-info']) ? join(',', $atts['tour-info']) : '', $atts['tour-rating'], $atts['excerpt'], $atts['excerpt-number'] ))); } else $this->shortcode_not_exists('tourmaster_tour', 'Tourmaster'); } } // Register widget trx_addons_elm_register_widget( 'TRX_Addons_Elementor_Widget_Tourmaster_Tour' ); } } if ( ! function_exists( 'trx_addons_sc_tourmaster_add_in_elementor_tts' ) ) { add_action( trx_addons_elementor_get_action_for_widgets_registration(), 'trx_addons_sc_tourmaster_add_in_elementor_tts' ); /** * Add shortcode Tourmaster Tour Search to the Elementor * * @hooked elementor/widgets/register */ function trx_addons_sc_tourmaster_add_in_elementor_tts() { if ( ! trx_addons_exists_tourmaster() || ! class_exists( 'TRX_Addons_Elementor_Widget' ) ) { return; } class TRX_Addons_Elementor_Widget_Tourmaster_Tour_Search extends TRX_Addons_Elementor_Widget { /** * Widget base constructor. * * Initializing the widget base class. * * @since 1.6.41 * @access public * * @param array $data Widget data. Default is an empty array. * @param array|null $args Optional. Widget default arguments. Default is null. */ public function __construct( $data = [], $args = null ) { parent::__construct( $data, $args ); $this->add_plain_params([ 'padding-bottom' => 'size+unit', 'frame-background-image' => 'url' ]); } /** * Retrieve widget name. * * @since 1.6.41 * @access public * * @return string Widget name. */ public function get_name() { return 'tourmaster_tour_search'; } /** * Retrieve widget title. * * @since 1.6.41 * @access public * * @return string Widget title. */ public function get_title() { return __( 'Tourmaster Search', 'trx_addons' ); } /** * Get widget keywords. * * Retrieve the list of keywords the widget belongs to. * * @since 2.27.2 * @access public * * @return array Widget keywords. */ public function get_keywords() { return [ 'tour', 'trip', 'journey', 'travel', 'search' ]; } /** * Retrieve widget icon. * * @since 1.6.41 * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-image-hotspot trx_addons_elementor_widget_icon'; } /** * Retrieve the list of categories the widget belongs to. * * Used to determine where to display the widget in the editor. * * @since 1.6.41 * @access public * * @return array Widget categories. */ public function get_categories() { return ['trx_addons-elements']; } /** * Register widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.6.41 * @access protected */ protected function register_controls() { // Detect edit mode $is_edit_mode = trx_addons_elm_is_edit_mode(); // Register controls $this->start_controls_section( 'section_sc_tourmaster_search', [ 'label' => __( 'Tour Search', 'trx_addons' ), ] ); $this->add_control( 'title', [ 'label' => __( 'Title', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::TEXT, 'default' => '' ] ); $this->add_control( 'style', [ 'label' => __( 'Style', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => [ 'column' => esc_html__('Column', 'trx_addons'), 'half' => esc_html__('Half', 'trx_addons'), 'full' => esc_html__('Full', 'trx_addons'), ], 'default' => 'column' ] ); $this->add_control( 'fields', [ 'label' => __( 'Fields', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT2, 'options' => [ 'keywords' => esc_html__('Keywords', 'trx_addons'), 'tour_category' => esc_html__('Category', 'trx_addons'), 'tour_tag' => esc_html__('Tag', 'trx_addons'), 'duration' => esc_html__('Duration', 'trx_addons'), 'date' => esc_html__('Date', 'trx_addons'), 'min-price' => esc_html__('Min Price', 'trx_addons'), 'max-price' => esc_html__('Max Price', 'trx_addons'), ], 'multiple' => true, 'default' => ['keywords','duration','date'] ] ); $this->add_control( 'padding-bottom', [ 'label' => __( 'Padding bottom', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 30, 'unit' => 'px' ], 'size_units' => ['px', 'em'], 'range' => [ 'px' => [ 'min' => 0, 'max' => 150 ], 'em' => [ 'min' => 0, 'max' => 10 ] ] ] ); $this->add_control( 'enable-rating-field', [ 'label' => __( 'Enable Rating', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => array( 'enable' => esc_html__('Enable', 'trx_addons'), 'disable' => esc_html__('Disable', 'trx_addons'), ), 'default' => 'disable', 'condition' => [ 'style' => 'full' ] ] ); $this->add_control( 'with-frame', [ 'label' => __( 'Item Frame', 'trx_addons' ), 'label_block' => false, 'type' => \Elementor\Controls_Manager::SELECT, 'options' => array( 'disable' => esc_html__('Disable', 'trx_addons'), 'enable' => esc_html__('Color Background', 'trx_addons'), 'image' => esc_html__('Image Background', 'trx_addons'), ), 'default' => 'enable' ] ); $this->add_control( 'frame-background-color', [ 'label' => __( 'Frame Background Color', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::COLOR, 'default' => '', // 'global' => array( // 'active' => false, // ), /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'with-frame' => 'enable' ] */ ] ); $this->add_control( 'frame-background-image', [ 'label' => __( 'Frame Background Image', 'trx_addons' ), 'type' => \Elementor\Controls_Manager::MEDIA, 'default' => [ 'url' => '', ], /* IDs with not '-' are not allowed in Elementor's conditions 'condition' => [ 'with-frame' => 'image' ] */ ] ); $this->end_controls_section(); } // Return widget's layout public function render() { if (shortcode_exists('tourmaster_tour_search')) { $atts = $this->sc_prepare_atts($this->get_settings(), $this->get_sc_name()); trx_addons_show_layout(do_shortcode(sprintf('[tourmaster_tour_search' . ' title="%1$s"' . ' style="%2$s"' . ' fields="%3$s"' . ' padding-bottom="%4$s"' . ' enable-rating-field="%5$s"' . ' with-frame="%6$s"' . ' frame-background-color="%7$s"' . ' frame-background-image="%8$s"' . ']', $atts['title'], $atts['style'], is_array($atts['fields']) ? join(',', $atts['fields']) : '', $atts['padding-bottom'], $atts['enable-rating-field'], $atts['with-frame'], $atts['frame-background-color'], $atts['frame-background-image'] ))); } else $this->shortcode_not_exists('tourmaster_tour_search', 'Tourmaster'); } } // Register widget trx_addons_elm_register_widget( 'TRX_Addons_Elementor_Widget_Tourmaster_Tour_Search' ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings