Viewing 30 results - 781 through 810 (of 2,320 total)
  • Author
    Search Results
  • #1004300

    Hi,

    I fixed it for you. I used this code:

    
    <?php
    /**
     * Featured Image Slider
     * 
     * Display a Slideshow of featured images from various posts
     */
    if ( ! defined( 'ABSPATH' ) ) {  exit;  }    // Exit if accessed directly
    
    if ( !class_exists( 'avia_sc_featureimage_slider' ))
    {
    	class avia_sc_featureimage_slider extends aviaShortcodeTemplate
    	{
    
    		static $slide_count = 0;
    
    		/**
    		 * Create the config array for the shortcode button
    		 */
    		function shortcode_insert_button()
    		{
    			/**
    			 * inconsistent behaviour up to 4.2: a new element was created with a close tag, after editing it was self closing !!!
    			 * @since 4.2.1: We make new element self closing now because no id='content' exists.
    			 */
    			$this->config['self_closing']	=	'yes';
    
    			$this->config['name']		= __('Featured Image Slider', 'avia_framework' );
    			$this->config['tab']		= __('Media Elements', 'avia_framework' );
    			$this->config['icon']		= AviaBuilder::$path['imagesURL']."sc-postslider.png";
    			$this->config['order']		= 30;
    			$this->config['target']		= 'avia-target-insert';
    			$this->config['shortcode'] 	= 'av_feature_image_slider';
    			$this->config['tooltip'] 	= __('Display a Slideshow of featured images from various posts', 'avia_framework' );
    			$this->config['drag-level'] = 3;
    			$this->config['preview'] 		= 0;
    			$this->config['disabling_allowed'] = true;
    		}
    
    		function extra_assets()
    			{
    				//load css
    				wp_enqueue_style( 'avia-module-slideshow' , AviaBuilder::$path['pluginUrlRoot'].'avia-shortcodes/slideshow/slideshow.css' , array('avia-layout'), false );
    				wp_enqueue_style( 'avia-module-slideshow-feature-image' , AviaBuilder::$path['pluginUrlRoot'].'avia-shortcodes/slideshow_feature_image/slideshow_feature_image.css' , array('avia-module-slideshow'), false );
    
    					//load js
    				wp_enqueue_script( 'avia-module-slideshow' , AviaBuilder::$path['pluginUrlRoot'].'avia-shortcodes/slideshow/slideshow.js' , array('avia-shortcodes'), false, TRUE );
    
    			}
    
    		/**
    		 * Popup Elements
    		 *
    		 * If this function is defined in a child class the element automatically gets an edit button, that, when pressed
    		 * opens a modal window that allows to edit the element properties
    		 *
    		 * @return void
    		 */
    		function popup_elements()
    		{
    			$this->elements = array(
    
    				array(
    					"type" 	=> "tab_container", 'nodescription' => true
    				),
    
    				array(
    					"type" 	=> "tab",
    					"name"  => __("Slider Content" , 'avia_framework'),
    					'nodescription' => true
    				),
    
    				array(
    						"name" 	=> __("Which Entries?", 'avia_framework' ),
    						"desc" 	=> __("Select which entries should be displayed by selecting a taxonomy", 'avia_framework' ),
    						"id" 	=> "link",
    						"fetchTMPL"	=> true,
    						"type" 	=> "linkpicker",
    						"subtype"  => array( __('Display Entries from:',  'avia_framework' )=>'taxonomy'),
    						"multiple"	=> 6,
    						"std" 	=> "category"
    				),
    
    				array(
    						"name" 	=> __("WooCommerce Product visibility?", 'avia_framework' ),
    						"desc" 	=> __("Select the visibility of WooCommerce products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Inventory -&gt Out of stock visibility", 'avia_framework' ),
    						"id" 	=> "wc_prod_visible",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"required" => array( 'link', 'parent_in_array', implode( ' ', get_object_taxonomies( 'product', 'names' ) ) ),
    						"subtype" => array(
    							__('Use default WooCommerce Setting (Settings -> Products -> Out of stock visibility)',  'avia_framework' ) => '',
    							__('Hide products out of stock',  'avia_framework' ) => 'hide',
    							__('Show products out of stock',  'avia_framework' )  => 'show')
    					),
    
    				array(
    						"name" 	=> __( "Sorting Options", 'avia_framework' ),
    						"desc" 	=> __( "Here you can choose how to sort the products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Display -&gt Default product sorting", 'avia_framework' ),
    						"id" 	=> "prod_order_by",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"required" => array( 'link', 'parent_in_array', implode( ' ', get_object_taxonomies( 'product', 'names' ) ) ),
    						"subtype" => array( 
    								__('Use defaut (defined at Woocommerce -> Settings -&gt Default product sorting) ', 'avia_framework' ) =>	'',
    								__('Sort alphabetically', 'avia_framework' )			=>	'title',
    								__('Sort by most recent', 'avia_framework' )			=>	'date',
    								__('Sort by price', 'avia_framework' )					=>	'price',
    								__('Sort by popularity', 'avia_framework' )				=>	'popularity',
    								__('Sort randomly', 'avia_framework' )					=>	'rand'
    							)
    					),
    
    				array(
    						"name" 	=> __( "Sorting Order", 'avia_framework' ),
    						"desc" 	=> __( "Here you can choose the order of the result products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Display -&gt Default product sorting", 'avia_framework' ),
    						"id" 	=> "prod_order",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"required" => array( 'link', 'parent_in_array', implode( ' ', get_object_taxonomies( 'product', 'names' ) ) ),
    						"subtype" => array( 
    								__('Use defaut (defined at Woocommerce -&gt Settings -&gt Default product sorting)', 'avia_framework' ) =>	'',
    								__('Ascending', 'avia_framework' )			=>	'ASC',
    								__('Descending', 'avia_framework' )			=>	'DESC'
    							)
    					),
    
    				array(
    						"name" 	=> __("Entry Number", 'avia_framework' ),
    						"desc" 	=> __("How many items should be displayed?", 'avia_framework' ),
    						"id" 	=> "items",
    						"type" 	=> "select",
    						"std" 	=> "3",
    						"subtype" => AviaHtmlHelper::number_array(1,100,1, array('All'=>'-1'))),
    
                    array(
                        "name" 	=> __("Offset Number", 'avia_framework' ),
                        "desc" 	=> __("The offset determines where the query begins pulling posts. Useful if you want to remove a certain number of posts because you already query them with another element.", 'avia_framework' ),
                        "id" 	=> "offset",
                        "type" 	=> "select",
                        "std" 	=> "enforce_duplicates",
                        "subtype" => AviaHtmlHelper::number_array(1,100,1, 
    
    	                    array(
    
    	                    __('Deactivate offset','avia_framework')=>'0', 
    	                    __('Do not allow duplicate posts on the entire page (set offset automatically)', 'avia_framework' ) =>'no_duplicates',
    	                    __('Enforce duplicates (if a blog element on the page should show the same entries as this slider use this setting)', 'avia_framework' ) =>'enforce_duplicates'
    
    	                    	)
                        )
                        ),
    
    				array(
    						"name" 	=> __("Title and Read More Button",'avia_framework' ),
    						"desc" 	=> __("Choose if you want to only display the post title or title and a call to action button",'avia_framework' ),
    						"id" 	=> "contents",
    						"type" 	=> "select",
    						"std" 	=> "title",
    						"subtype" => array(
    							__('Only Title',  'avia_framework' ) =>'title',
    							__('Title + Read More Button',  'avia_framework' ) =>'title_read_more',
    							__('Title + Excerpt + Read More Button',  'avia_framework' ) =>'title_excerpt_read_more',
    							)
    					),
    
    				array(
    		                    "name"  => __("Slider Width/Height Ratio", 'avia_framework' ),
    		                    "desc"  => __("The slider will always stretch the full available width. Here you can enter the corresponding height (eg: 4:3, 16:9) or a fixed height in px (eg: 300px)", 'avia_framework' ),
    		                    "id"    => "slider_size",
    		                    "type" 	=> "input",
    							"std" 	=> "16:9",
    					),				
    
    				array(
    							"name" 	=> __("Preview Image Size", 'avia_framework' ),
    							"desc" 	=> __("Set the image size of the preview images", 'avia_framework' ),
    							"id" 	=> "preview_mode",
    							"type" 	=> "select",
    							"std" 	=> "auto",
    							"subtype" => array(
    
    							__('Set the preview image size automatically based on slider height','avia_framework' ) =>'auto',
    							__('Choose the preview image size manually (select thumbnail size)','avia_framework' ) =>'custom')),
    
    				array(
    							"name" 	=> __("Select custom preview image size", 'avia_framework' ),
    							"desc" 	=> __("Choose image size for Preview Image", 'avia_framework' ),
    							"id" 	=> "image_size",
    							"type" 	=> "select",
    							"required" 	=> array('preview_mode','equals','custom'),
    							"std" 	=> "portfolio",
    							"subtype" =>  AviaHelper::get_registered_image_sizes(array('logo'))
    							),
    
    				array(	
    						"name" 	=> __("Slideshow control styling?",'avia_framework' ),
    						"desc" 	=> __("Here you can select if and how to display the slideshow controls",'avia_framework' ),
    						"id" 	=> "control_layout",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"subtype" => array(__('Default','avia_framework' ) =>'av-control-default',__('Minimal White','avia_framework' ) =>'av-control-minimal', __('Minimal Black','avia_framework' ) =>'av-control-minimal av-control-minimal-dark',__('Hidden','avia_framework' ) =>'av-control-hidden')),	
    
    				array(
    				"type" 	=> "close_div",
    				'nodescription' => true
    					),
    
    				array(
    						"type" 	=> "tab",
    						"name"	=> __("Slider Transitions",'avia_framework' ),
    						'nodescription' => true
    					),
    
    				array(
    							"name" 	=> __("Transition", 'avia_framework' ),
    							"desc" 	=> __("Choose the transition for your Slider.", 'avia_framework' ),
    							"id" 	=> "animation",
    							"type" 	=> "select",
    							"std" 	=> "fade",
    							"subtype" => array(__('Slide','avia_framework' ) =>'slide',__('Fade','avia_framework' ) =>'fade'),
    							),
    
    				array(
    						"name" 	=> __("Autorotation active?",'avia_framework' ),
    						"desc" 	=> __("Check if the slideshow should rotate by default",'avia_framework' ),
    						"id" 	=> "autoplay",
    						"type" 	=> "select",
    						"std" 	=> "no",
    						"subtype" => array(__('Yes','avia_framework' ) =>'yes',__('No','avia_framework' ) =>'no')),
    
    				array(
    					"name" 	=> __("Slideshow autorotation duration",'avia_framework' ),
    					"desc" 	=> __("Slideshow will rotate every X seconds",'avia_framework' ),
    					"id" 	=> "interval",
    					"type" 	=> "select",
    					"std" 	=> "5",
    					"required" 	=> array('autoplay','equals','yes'),
    					"subtype" =>
    					array('3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8','9'=>'9','10'=>'10','15'=>'15','20'=>'20','30'=>'30','40'=>'40','60'=>'60','100'=>'100')),
    
    				array(
    				"type" 	=> "close_div",
    				'nodescription' => true
    				),	
    
    				array(
    						"type" 	=> "tab",
    						"name"	=> __("Slide Overlay",'avia_framework' ),
    						'nodescription' => true
    					),	
    
    				array(	
    										"name" 	=> __("Enable Overlay?", 'avia_framework' ),
    										"desc" 	=> __("Check if you want to display a transparent color and/or pattern overlay above your slideshow image/video", 'avia_framework' ),
    										"id" 	=> "overlay_enable",
    										"std" 	=> "",
    										"type" 	=> "checkbox"),
    
    								 array(
    									"name" 	=> __("Overlay Opacity",'avia_framework' ),
    									"desc" 	=> __("Set the opacity of your overlay: 0.1 is barely visible, 1.0 is opaque ", 'avia_framework' ),
    									"id" 	=> "overlay_opacity",
    									"type" 	=> "select",
    									"std" 	=> "0.5",
    			                        "required" => array('overlay_enable','not',''),
    									"subtype" => array(   __('0.1','avia_framework' )=>'0.1',
    									                      __('0.2','avia_framework' )=>'0.2',
    									                      __('0.3','avia_framework' )=>'0.3',
    									                      __('0.4','avia_framework' )=>'0.4',
    									                      __('0.5','avia_framework' )=>'0.5',
    									                      __('0.6','avia_framework' )=>'0.6',
    									                      __('0.7','avia_framework' )=>'0.7',
    									                      __('0.8','avia_framework' )=>'0.8',
    									                      __('0.9','avia_framework' )=>'0.9',
    									                      __('1.0','avia_framework' )=>'1',
    									                      )
    							  		),
    
    							  	array(
    										"name" 	=> __("Overlay Color", 'avia_framework' ),
    										"desc" 	=> __("Select a custom  color for your overlay here. Leave empty if you want no color overlay", 'avia_framework' ),
    										"id" 	=> "overlay_color",
    										"type" 	=> "colorpicker",
    			                        	"required" => array('overlay_enable','not',''),
    										"std" 	=> "",
    									),
    
    							  	array(
    			                        "required" => array('overlay_enable','not',''),
    									"id" 	=> "overlay_pattern",
    									"name" 	=> __("Background Image", 'avia_framework'),
    									"desc" 	=> __("Select an existing or upload a new background image", 'avia_framework'),
    									"type" 	=> "select",
    									"subtype" => array(__('No Background Image', 'avia_framework')=>'',__('Upload custom image', 'avia_framework')=>'custom'),
    									"std" 	=> "",
    									"folder" => "images/background-images/",
    									"folderlabel" => "",
    									"group" => "Select predefined pattern",
    									"exclude" => array('fullsize-', 'gradient')
    								),
    
    							  	array(
    										"name" 	=> __("Custom Pattern",'avia_framework' ),
    										"desc" 	=> __("Upload your own seamless pattern",'avia_framework' ),
    										"id" 	=> "overlay_custom_pattern",
    										"type" 	=> "image",
    										"fetch" => "url",
    										"secondary_img"=>true,
    			                        	"required" => array('overlay_pattern','equals','custom'),
    										"title" => __("Insert Pattern",'avia_framework' ),
    										"button" => __("Insert",'avia_framework' ),
    										"std" 	=> ""),
    
    				array(
    				"type" 	=> "close_div",
    				'nodescription' => true
    				),
    
    				array(
    									"type" 	=> "tab",
    									"name"	=> __("Screen Options",'avia_framework' ),
    									'nodescription' => true
    								),
    
    								array(
    								"name" 	=> __("Element Visibility",'avia_framework' ),
    								"desc" 	=> __("Set the visibility for this element, based on the device screensize.", 'avia_framework' ),
    								"type" 	=> "heading",
    								"description_class" => "av-builder-note av-neutral",
    								),
    
    								array(	
    										"desc" 	=> __("Hide on large screens (wider than 990px - eg: Desktop)", 'avia_framework'),
    										"id" 	=> "av-desktop-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    
    								array(	
    
    										"desc" 	=> __("Hide on medium sized screens (between 768px and 989px - eg: Tablet Landscape)", 'avia_framework'),
    										"id" 	=> "av-medium-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    
    								array(	
    
    										"desc" 	=> __("Hide on small screens (between 480px and 767px - eg: Tablet Portrait)", 'avia_framework'),
    										"id" 	=> "av-small-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    
    								array(	
    
    										"desc" 	=> __("Hide on very small screens (smaller than 479px - eg: Smartphone Portrait)", 'avia_framework'),
    										"id" 	=> "av-mini-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    
    								array(
    									"name" 	=> __("Caption Title Font Size",'avia_framework' ),
    									"desc" 	=> __("Set the font size for the element title, based on the device screensize.", 'avia_framework' ),
    									"type" 	=> "heading",
    									"description_class" => "av-builder-note av-neutral",
    									),
    
    									array(	"name" 	=> __("Font Size for medium sized screens (between 768px and 989px - eg: Tablet Landscape)", 'avia_framework' ),
    						            "id" 	=> "av-medium-font-size-title",
    						            "type" 	=> "select",
    						            "subtype" => AviaHtmlHelper::number_array(10,120,1, array( __("Default", 'avia_framework' )=>'' , __("Hidden", 'avia_framework' )=>'hidden' ), "px"),
    						            "std" => ""),
    
    						            array(	"name" 	=> __("Font Size for small screens (between 480px and 767px - eg: Tablet Portrait)", 'avia_framework' ),
    						            "id" 	=> "av-small-font-size-title",
    						            "type" 	=> "select",
    						            "subtype" => AviaHtmlHelper::number_array(10,120,1, array( __("Default", 'avia_framework' )=>'', __("Hidden", 'avia_framework' )=>'hidden'), "px"),
    						            "std" => ""),
    
    									array(	"name" 	=> __("Font Size for very small screens (smaller than 479px - eg: Smartphone Portrait)", 'avia_framework' ),
    						            "id" 	=> "av-mini-font-size-title",
    						            "type" 	=> "select",
    						            "subtype" => AviaHtmlHelper::number_array(10,120,1, array( __("Default", 'avia_framework' )=>'', __("Hidden", 'avia_framework' )=>'hidden'), "px"),
    						            "std" => ""),
    
    						        array(
    									"name" 	=> __("Caption Content Font Size",'avia_framework' ),
    									"desc" 	=> __("Set the font size for the element content, based on the device screensize.", 'avia_framework' ),
    									"type" 	=> "heading",
    									"description_class" => "av-builder-note av-neutral",
    									),
    
    									array(	"name" 	=> __("Font Size for medium sized screens (between 768px and 989px - eg: Tablet Landscape)", 'avia_framework' ),
    						            "id" 	=> "av-medium-font-size",
    						            "type" 	=> "select",
    						            "subtype" => AviaHtmlHelper::number_array(10,120,1, array( __("Default", 'avia_framework' )=>'', __("Hidden", 'avia_framework' )=>'hidden'), "px"),
    						            "std" => ""),
    
    						            array(	"name" 	=> __("Font Size for small screens (between 480px and 767px - eg: Tablet Portrait)", 'avia_framework' ),
    						            "id" 	=> "av-small-font-size",
    						            "type" 	=> "select",
    						            "subtype" => AviaHtmlHelper::number_array(10,120,1, array( __("Default", 'avia_framework' )=>'', __("Hidden", 'avia_framework' )=>'hidden'), "px"),
    						            "std" => ""),
    
    									array(	"name" 	=> __("Font Size for very small screens (smaller than 479px - eg: Smartphone Portrait)", 'avia_framework' ),
    						            "id" 	=> "av-mini-font-size",
    						            "type" 	=> "select",
    						            "subtype" => AviaHtmlHelper::number_array(10,120,1, array( __("Default", 'avia_framework' )=>'', __("Hidden", 'avia_framework' )=>'hidden'), "px"),
    						            "std" => ""), 
    
    							array(
    									"type" 	=> "close_div",
    									'nodescription' => true
    								),
    
    				array(
    				"type" 	=> "close_div",
    				'nodescription' => true
    				),
    
    				);
    
    				if(current_theme_supports('add_avia_builder_post_type_option'))
                    {
                        $element = array(
                            "name" 	=> __("Select Post Type", 'avia_framework' ),
                            "desc" 	=> __("Select which post types should be used. Note that your taxonomy will be ignored if you do not select an assign post type.
                                          If yo don't select post type all registered post types will be used", 'avia_framework' ),
                            "id" 	=> "post_type",
                            "type" 	=> "select",
                            "multiple"	=> 6,
                            "std" 	=> "",
                            "subtype" => AviaHtmlHelper::get_registered_post_type_array()
                        );
    
                        array_unshift($this->elements, $element);
                    }
    		}
    
    		/**
    		 * Editor Element - this function defines the visual appearance of an element on the AviaBuilder Canvas
    		 * Most common usage is to define some markup in the $params['innerHtml'] which is then inserted into the drag and drop container
    		 * Less often used: $params['data'] to add data attributes, $params['class'] to modify the className
    		 *
    		 *
    		 * @param array $params this array holds the default values for $content and $args.
    		 * @return $params the return array usually holds an innerHtml key that holds item specific markup.
    		 */
    		function editor_element($params)
    			{	
    				$params['innerHtml'] = "<img src='".$this->config['icon']."' title='".$this->config['name']."' />";
    				$params['innerHtml'].= "
    <div class='avia-element-label'>".$this->config['name']."</div>
    ";
    
    				$params['innerHtml'].= "
    <div class='avia-flex-element'>"; 
    				$params['innerHtml'].= 		__('This element will stretch across the whole screen by default.','avia_framework')."
    ";
    				$params['innerHtml'].= 		__('If you put it inside a color section or column it will only take up the available space','avia_framework');
    				$params['innerHtml'].= "
    <div class='avia-flex-element-2nd'>".__('Currently:','avia_framework');
    				$params['innerHtml'].= "	<span class='avia-flex-element-stretched'>&laquo; ".__('Stretch fullwidth','avia_framework')." &raquo;</span>";
    				$params['innerHtml'].= "	<span class='avia-flex-element-content'>| ".__('Adjust to content width','avia_framework')." |</span>";
    				$params['innerHtml'].= "</div>
    </div>
    ";
    
    				return $params;
    			}
    
    		/**
    		 * Frontend Shortcode Handler
    		 *
    		 * @param array $atts array of attributes
    		 * @param string $content text within enclosing form of shortcode element
    		 * @param string $shortcodename the shortcode found, when == callback name
    		 * @return string $output returns the modified html string
    		 */
    		function shortcode_handler($atts, $content = "", $shortcodename = "", $meta = "")
    		{
    			if(isset($atts['link']))
    			{
    				$atts['link'] = explode(',', $atts['link'], 2 );
    				$atts['taxonomy'] = $atts['link'][0];
    
    				if(isset($atts['link'][1]))
    				{
    					$atts['categories'] = $atts['link'][1];
    				}
    			}
    
    			// $atts['class'] = $meta['el_class'];
    
    			extract(AviaHelper::av_mobile_sizes($atts)); //return $av_font_classes, $av_title_font_classes and $av_display_classes 
    			extract($atts);
    			$output  	= "";
    		    $class = "";
    
    			$skipSecond = false;
    			avia_sc_featureimage_slider::$slide_count++;
    
    			$params['class'] = "avia-featureimage-slider-wrap main_color  {$av_display_classes} ".$meta['el_class'].$class;
    			$params['open_structure'] = false;
    
    			$params['custom_markup'] = $atts['custom_markup'] = $meta['custom_markup'];
    
    			//we dont need a closing structure if the element is the first one or if a previous fullwidth element was displayed before
    			if($meta['index'] == 0) $params['close'] = false;
    			if(!empty($meta['siblings']['prev']['tag']) && in_array($meta['siblings']['prev']['tag'], AviaBuilder::$full_el_no_section )) $params['close'] = false;
    
    			if($meta['index'] != 0) $params['class'] .= " slider-not-first";
    
    			$params['id'] = "avia_feature_image_slider_".avia_sc_slider_full::$slide_count;
    
    			$slider  = new avia_feature_image_slider($atts);
    			$slider->query_entries();
    			$slide_html = $slider->html();
    
    			//if the element is nested within a section or a column dont create the section shortcode around it
    			if(!ShortcodeHelper::is_top_level()) return $slide_html;
    
    			// $slide_html  = "
    <div class='container'>" . $slide_html . "</div>
    ";
    
    			$output .=  avia_new_section($params);
    			$output .= 	$slide_html;
    			$output .= "</div>
    "; //close section
    
    			//if the next tag is a section dont create a new section from this shortcode
    			if(!empty($meta['siblings']['next']['tag']) && in_array($meta['siblings']['next']['tag'],  AviaBuilder::$full_el ))
    			{
    			    $skipSecond = true;
    			}
    
    			//if there is no next element dont create a new section.
    			if(empty($meta['siblings']['next']['tag']))
    			{
    			    $skipSecond = true;
    			}
    
    			if(empty($skipSecond)) {
    
    			$output .= avia_new_section(array('close'=>false, 'id' => "after_full_slider_".avia_sc_slider_full::$slide_count));
    
    			}
    
    			return $output;
    
    		}
    
    	}
    }
    
    if ( !class_exists( 'avia_feature_image_slider' ) )
    {
    	class avia_feature_image_slider
    	{
    		static  $slider = 0;
    		protected $slide_count = 0;
    		protected $atts;
    		protected $entries;
    
    		function __construct($atts = array())
    		{
    
    			$this->screen_options = AviaHelper::av_mobile_sizes($atts); //return $av_font_classes, $av_title_font_classes and $av_display_classes 
    
    			$this->atts = shortcode_atts(array(	'items' 		=> '16',
    		                                 		'taxonomy'  	=> 'category',
    		                                 		'post_type'		=> get_post_types(),
    		                                 		'contents' 		=> 'title',
    		                                 		'preview_mode' 	=> 'auto',
    												'image_size' 	=> 'portfolio',
    		                                 		'autoplay'  	=> 'no',
    												'animation' 	=> 'fade',
    												'paginate'		=> 'no',
                                                    'use_main_query_pagination' => 'no',
    												'interval'  	=> 5,
    												'class'			=> '',
    		                                 		'categories'	=> array(),
    												'wc_prod_visible'	=>	'',
    												'prod_order_by'		=>	'',
    												'prod_order'		=>	'',
    		                                 		'custom_query'	=> array(),
    		                                 		'lightbox_size' => 'large',
                                                    'offset' 		=> 0,
                                                    'bg_slider'		=>true,
                                                    'keep_pading' 	=> true,
                                                    'custom_markup' => '',
                                                    'slider_size' 	=> '16:9',
                                                    'control_layout'	=> '',
                                                    'overlay_enable' 	=> '',
    				    							'overlay_opacity' 	=> '',
    				    							'overlay_color' 	=> '',
    				    							'overlay_pattern' 	=> '',
    				    							'overlay_custom_pattern' => '',
    
    		                                 		), $atts, 'av_feature_image_slider');
    
    		   if($this->atts['autoplay'] == "no")   
    		   	$this->atts['autoplay'] = false;                               		
    
    		}
    
    		public function html()
    		{
    			$html 		= "";
    			$counter 	= 0;
    			$style   	= "";
    			$extraClass = "";
    			$style 		= "";
    			avia_feature_image_slider::$slider++;
    
    			if($this->slide_count == 0) return $html;
    
    			if(!empty($this->atts['default-height']))
    			{
    				$style = "style='padding-bottom: {{av-default-heightvar}}%;'";
    				$extraClass .= " av-default-height-applied";
    			}
    
    			if(strpos( $this->atts['slider_size'] , ":") !== false)
    			{
    				$ratio = explode(':',trim($this->atts['slider_size']));
    				if(empty($ratio[0])) $ratio[0] = 16;
    				if(empty($ratio[1])) $ratio[1] = 9;
    				$final_ratio = ((int) $ratio[0] / (int) $ratio[1]);
    				$def_height = "padding-bottom:" . (100/$final_ratio). "%";
    
    			}
    			else
    			{
    				$def_height  = (int) $this->atts['slider_size'];
    				$def_height  = "height: {$def_height}px";
    			}
    
    			extract($this->screen_options);
    
    			$style = "style='{$def_height}'";
    			if(!empty($this->atts['control_layout'])) $extraClass .= " ".$this->atts['control_layout'];
    
                $markup = avia_markup_helper(array('context' => 'image','echo'=>false, 'custom_markup'=>$this->atts['custom_markup']));
    
    			$data = AviaHelper::create_data_string($this->atts);
    
    			$html .= "
    <div {$data} class='avia-slideshow avia-featureimage-slideshow avia-animated-caption {$av_display_classes} avia-slideshow-".avia_sc_featureimage_slider::$slide_count." {$extraClass} avia-slideshow-".$this->atts['image_size']."  ".$this->atts['class']." avia-".$this->atts['animation']."-slider ' $markup>";
    
    			$html .= "
    <ul class='avia-slideshow-inner avia-slideshow-fixed-height' {$style}>";
    
    			$html .= $this->default_slide();
    
    			$html .= "</ul>
    ";
    
    			if($this->slide_count > 1)
    			{
    				$html .= $this->slide_navigation_arrows();
    				$html .= $this->slide_navigation_dots();
    			}
    
    			if(!empty($this->atts['caption_override'])) $html .= $this->atts['caption_override'];
    
    			$html .= "</div>
    ";
    
    			if(!empty($this->atts['default-height']))
    			{
    				$html = str_replace('{{av-default-heightvar}}', $this->atts['default-height'], $html);
    			}
    
    			return $html;
    		}
    
    		//function that renders the usual slides. use when we didnt use sub-shorcodes to define the images but ids
    		protected function default_slide()
    		{
    			$html = "";
    			$counter = 0;
    
    			extract($this->screen_options);
    
                $markup_url = avia_markup_helper(array('context' => 'image_url','echo'=>false, 'custom_markup'=>$this->atts['custom_markup']));
    
    			foreach ($this->entries->posts as $slide)
    			{
    					$counter ++;
    					$thumb_id = get_post_thumbnail_id( $slide->ID );
    					$slide_class = "";
    
    					$img 	 = wp_get_attachment_image_src($thumb_id, $this->atts['image_size']);
    					$link	 = get_post_meta( $slide->ID ,'_portfolio_custom_link', true ) != "" ? get_post_meta( $slide->ID ,'_portfolio_custom_link_url', true ) : get_permalink( $slide->ID );
    					$title	 = get_the_title( $slide->ID );
    
    					$caption  = "";
     					$caption .= '
    <div class="caption_fullwidth av-slideshow-caption caption_center">';
    					$caption .= '
    <div class="container caption_container">';
    					$caption .= '
    <div class="slideshow_caption">';
    					$caption .= '
    <div class="slideshow_inner_caption">';
    					$caption .= '
    <div class="slideshow_align_caption">';
    					//$caption .= '
    <h2 class="avia-caption-title"><a href="'.$link.'">'.$title.'</a></h2>
    ';
    
    					if(strpos($this->atts['contents'], 'excerpt')  !== false)
    					{
    						$excerpt = !empty($slide->post_excerpt) ? $slide->post_excerpt : avia_backend_truncate($slide->post_content, apply_filters( 'avf_feature_image_slider_excerpt_length' , 320) , apply_filters( 'avf_feature_image_slider_excerpt_delimiter' , " "), "…", true, '');
    
    						if(!empty($excerpt)){
    							$caption .= '
    <div class="avia-caption-content '.$av_font_classes.'" itemprop="description">';
    							$caption .= wpautop($excerpt);
    							$caption .= '</div>
    ';
    						}
    					}
    
    					if(strpos($this->atts['contents'], 'read_more')  !== false)
    					{
    						$caption .= ' <a href="'.$link.'" class="avia-slideshow-button avia-button avia-color-light " data-duration="800" data-easing="easeInOutQuad">'.__('Read more', 'avia_framework').'</a>';
    
    					}
    					$caption .= '</div>
    ';
    					$caption .= '</div>
    ';
    					$caption .= '</div>
    ';
    					$caption .= '</div>
    ';
    					$caption .= $this->create_overlay();
    					$caption .= '</div>
    ';
    
    					$slide_data = "data-img-url='".$img[0]."'";
    
    					if(empty($img)) $slide_class .= " av-no-image-slider";
    
    					$html .= "<a href=".$link.">
     	<li {$slide_data} class='slide-{$counter} {$slide_class} slide-id-".$slide->ID."'>";
    					$html .= $caption;
    					$html .= "</a></li>
    ";
    			}
    
    			return $html;
    		}
    
    		protected function slide_navigation_dots()
    		{
    			$html   = "";
    			$html  .= "
    <div class='avia-slideshow-dots avia-slideshow-controls'>";
    			$active = "active";
    
    			for($i = 1; $i <= $this->slide_count; $i++)
    			{
    				$html .= "<a href='#{$i}' class='goto-slide {$active}' >{$i}</a>";
    				$active = "";
    			}
    
    			$html .= "</div>
    ";
    
    			return $html;
    		}
    
    		protected function slide_navigation_arrows()
    		{
    			$html  = "";
    			$html .= "
    <div class='avia-slideshow-arrows avia-slideshow-controls'>";
    			$html .= 	"<a href='#prev' class='prev-slide' ".av_icon_string('prev_big').">".__('Previous','avia_framework' )."</a>";
    			$html .= 	"<a href='#next' class='next-slide' ".av_icon_string('next_big').">".__('Next','avia_framework' )."</a>";
    			$html .= "</div>
    ";
    
    			return $html;
    		}
    
    		protected function create_overlay()
    		{
    			extract($this->atts);
    
    			/*check/create overlay*/
    			$overlay = "";
    			if(!empty($overlay_enable))
    			{
    				$overlay_src = "";
    				$overlay = "opacity: {$overlay_opacity}; ";
    				if(!empty($overlay_color)) $overlay .= "background-color: {$overlay_color}; ";
    				if(!empty($overlay_pattern))
    				{
    					if($overlay_pattern == "custom")
    					{
    						$overlay_src = $overlay_custom_pattern;
    					}
    					else
    					{
    						$overlay_src = str_replace('{{AVIA_BASE_URL}}', AVIA_BASE_URL, $overlay_pattern);
    					}
    				}
    
    				if(!empty($overlay_src)) $overlay .= "background-image: url({$overlay_src}); background-repeat: repeat;";
    				$overlay = "
    <div class='av-section-color-overlay' style='{$overlay}'></div>
    ";
    			}
    
    			return $overlay;
    		}
    
    		//fetch new entries
    		public function query_entries($params = array())
    		{
    			global $avia_config;
    
    			if(empty($params)) $params = $this->atts;
    
    			if(empty($params['custom_query']))
                {
    				$query = array();
    
    				if(!empty($params['categories']))
    				{
    					//get the portfolio categories
    					$terms 	= explode(',', $params['categories']);
    				}
    
    				$page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' );
    				if(!$page || $params['paginate'] == 'no') $page = 1;
    
    				//if we find no terms for the taxonomy fetch all taxonomy terms
    				if(empty($terms[0]) || is_null($terms[0]) || $terms[0] === "null")
    				{
    					$terms = array();
    					$allTax = get_terms( $params['taxonomy']);
    					foreach($allTax as $tax)
    					{
    						$terms[] = $tax->term_id;
    					}
    
    				}
    
    				if($params['offset'] == 'no_duplicates')
                    {
                        $params['offset'] = 0;
                        $no_duplicates = true;
                    }
    
                    if($params['offset'] == 'enforce_duplicates')
                    {
                        $params['offset'] = 0;
                        $no_duplicates = false;
                    }
    
                    if(empty($params['post_type'])) $params['post_type'] = get_post_types();
                    if(is_string($params['post_type'])) $params['post_type'] = explode(',', $params['post_type']);
    
    				$orderby = 'date';
    				$order = 'DESC';
    
    				// Meta query - replaced by Tax query in WC 3.0.0
    				$meta_query = array();
    				$tax_query = array();
    
    				// check if taxonomy are set to product or product attributes
    				$tax = get_taxonomy( $params['taxonomy'] );
    
    				if( class_exists( 'WooCommerce' ) && is_object( $tax ) && isset( $tax->object_type ) && in_array( 'product', (array) $tax->object_type ) )
    				{
    					$avia_config['woocommerce']['disable_sorting_options'] = true;
    
    					avia_wc_set_out_of_stock_query_params( $meta_query, $tax_query, $params['wc_prod_visible'] );
    
    						//	sets filter hooks !!
    					$ordering_args = avia_wc_get_product_query_order_args( $params['prod_order_by'], $params['prod_order'] );
    
    					$orderby = $ordering_args['orderby'];
    					$order = $ordering_args['order'];
    				}	
    
    				if( ! empty( $terms ) )
    				{
    					$tax_query[] =  array(
    										'taxonomy' 	=>	$params['taxonomy'],
    										'field' 	=>	'id',
    										'terms' 	=>	$terms,
    										'operator' 	=>	'IN'
    								);
    				}				
    
    				$query = array(	'orderby'		=>	$orderby,
    								'order'			=>	$order,
    								'paged'			=>	$page,
    								'post_type'		=>	$params['post_type'],
    //								'post_status'	=>	'publish',
    								'offset'		=>	$params['offset'],
    								'posts_per_page' =>	$params['items'],
    								'post__not_in'	=>	( ! empty( $no_duplicates ) ) ? $avia_config['posts_on_current_page'] : array(),
    								'meta_query'	=>	$meta_query,
    								'tax_query'		=>	$tax_query
    							);
    
    			}
    			else
    			{
    				$query = $params['custom_query'];
    			}
    
    			$query = apply_filters('avia_feature_image_slider_query', $query, $params);
    
    			$this->entries = new WP_Query( $query );
    
    			$this->slide_count = count($this->entries->posts);
    
    		    // store the queried post ids in
                if( $this->entries->have_posts() && $params['offset'] != 'enforce_duplicates')
                {
                    while( $this->entries->have_posts() )
                    {
                        $this->entries->the_post();
                        $avia_config['posts_on_current_page'][] = get_the_ID();
                    }
                }
    
    			if( function_exists( 'WC' ) )
    			{
    				avia_wc_clear_catalog_ordering_args_filters();
    				$avia_config['woocommerce']['disable_sorting_options'] = false;
    			}
    
    		}
    	}
    }
    
    

    Best regards,
    Dude

    freshwebsitesla
    Participant

    Hi Kreisi,

    We have the Header Ajax Search enabled but want to change the text when no search results are found in the Tooltop ONLY. Ive attached a screenshot for reference.

    Thank you as always.

    #1003234
    ChristineGerman
    Participant

    Just update my theme, and now a section of my site is no longer working. i believe it’s related to a child theme php file alteration that was given to me originally by you guys. The file is called slideshow_feature_image.php content. I’ll post the content below.

    Hoping you can help me, I am not a coder and this was provided by your team. The file made an alteration to how the slider works in this section.

    The coding you had provided is below:

    <?php
    /**
    * Featured Image Slider
    *
    * Display a Slideshow of featured images from various posts
    */
    if ( ! defined( ‘ABSPATH’ ) ) { exit; } // Exit if accessed directly

    if ( !class_exists( ‘avia_sc_featureimage_slider’ ))
    {
    class avia_sc_featureimage_slider extends aviaShortcodeTemplate
    {

    static $slide_count = 0;

    /**
    * Create the config array for the shortcode button
    */
    function shortcode_insert_button()
    {
    /**
    * inconsistent behaviour up to 4.2: a new element was created with a close tag, after editing it was self closing !!!
    * @since 4.2.1: We make new element self closing now because no id=’content’ exists.
    */
    $this->config[‘self_closing’] = ‘yes’;

    $this->config[‘name’] = __(‘Featured Image Slider’, ‘avia_framework’ );
    $this->config[‘tab’] = __(‘Media Elements’, ‘avia_framework’ );
    $this->config[‘icon’] = AviaBuilder::$path[‘imagesURL’].”sc-postslider.png”;
    $this->config[‘order’] = 30;
    $this->config[‘target’] = ‘avia-target-insert’;
    $this->config[‘shortcode’] = ‘av_feature_image_slider’;
    $this->config[‘tooltip’] = __(‘Display a Slideshow of featured images from various posts’, ‘avia_framework’ );
    $this->config[‘drag-level’] = 3;
    $this->config[‘preview’] = 0;
    }

    /**
    * Popup Elements
    *
    * If this function is defined in a child class the element automatically gets an edit button, that, when pressed
    * opens a modal window that allows to edit the element properties
    *
    * @return void
    */
    function popup_elements()
    {
    $this->elements = array(

    array(
    “type” => “tab_container”, ‘nodescription’ => true
    ),

    array(
    “type” => “tab”,
    “name” => __(“Slider Content” , ‘avia_framework’),
    ‘nodescription’ => true
    ),

    array(
    “name” => __(“Which Entries?”, ‘avia_framework’ ),
    “desc” => __(“Select which entries should be displayed by selecting a taxonomy”, ‘avia_framework’ ),
    “id” => “link”,
    “fetchTMPL” => true,
    “type” => “linkpicker”,
    “subtype” => array( __(‘Display Entries from:’, ‘avia_framework’ )=>’taxonomy’),
    “multiple” => 6,
    “std” => “category”
    ),

    array(
    “name” => __(“WooCommerce Product visibility?”, ‘avia_framework’ ),
    “desc” => __(“Select the visibility of WooCommerce products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Inventory -&gt Out of stock visibility”, ‘avia_framework’ ),
    “id” => “wc_prod_visible”,
    “type” => “select”,
    “std” => “”,
    “required” => array( ‘link’, ‘parent_in_array’, implode( ‘ ‘, get_object_taxonomies( ‘product’, ‘names’ ) ) ),
    “subtype” => array(
    __(‘Use default WooCommerce Setting (Settings -> Products -> Out of stock visibility)’, ‘avia_framework’ ) => ”,
    __(‘Hide products out of stock’, ‘avia_framework’ ) => ‘hide’,
    __(‘Show products out of stock’, ‘avia_framework’ ) => ‘show’)
    ),

    array(
    “name” => __( “Sorting Options”, ‘avia_framework’ ),
    “desc” => __( “Here you can choose how to sort the products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Display -&gt Default product sorting”, ‘avia_framework’ ),
    “id” => “prod_order_by”,
    “type” => “select”,
    “std” => “”,
    “required” => array( ‘link’, ‘parent_in_array’, implode( ‘ ‘, get_object_taxonomies( ‘product’, ‘names’ ) ) ),
    “subtype” => array(
    __(‘Use defaut (defined at Woocommerce -> Settings -&gt Default product sorting) ‘, ‘avia_framework’ ) => ”,
    __(‘Sort alphabetically’, ‘avia_framework’ ) => ‘title’,
    __(‘Sort by most recent’, ‘avia_framework’ ) => ‘date’,
    __(‘Sort by price’, ‘avia_framework’ ) => ‘price’,
    __(‘Sort by popularity’, ‘avia_framework’ ) => ‘popularity’,
    __(‘Sort randomly’, ‘avia_framework’ ) => ‘rand’
    )
    ),

    array(
    “name” => __( “Sorting Order”, ‘avia_framework’ ),
    “desc” => __( “Here you can choose the order of the result products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Display -&gt Default product sorting”, ‘avia_framework’ ),
    “id” => “prod_order”,
    “type” => “select”,
    “std” => “”,
    “required” => array( ‘link’, ‘parent_in_array’, implode( ‘ ‘, get_object_taxonomies( ‘product’, ‘names’ ) ) ),
    “subtype” => array(
    __(‘Use defaut (defined at Woocommerce -&gt Settings -&gt Default product sorting)’, ‘avia_framework’ ) => ”,
    __(‘Ascending’, ‘avia_framework’ ) => ‘ASC’,
    __(‘Descending’, ‘avia_framework’ ) => ‘DESC’
    )
    ),

    array(
    “name” => __(“Entry Number”, ‘avia_framework’ ),
    “desc” => __(“How many items should be displayed?”, ‘avia_framework’ ),
    “id” => “items”,
    “type” => “select”,
    “std” => “3”,
    “subtype” => AviaHtmlHelper::number_array(1,100,1, array(‘All’=>’-1′))),

    array(
    “name” => __(“Offset Number”, ‘avia_framework’ ),
    “desc” => __(“The offset determines where the query begins pulling posts. Useful if you want to remove a certain number of posts because you already query them with another element.”, ‘avia_framework’ ),
    “id” => “offset”,
    “type” => “select”,
    “std” => “enforce_duplicates”,
    “subtype” => AviaHtmlHelper::number_array(1,100,1,

    array(

    __(‘Deactivate offset’,’avia_framework’)=>’0′,
    __(‘Do not allow duplicate posts on the entire page (set offset automatically)’, ‘avia_framework’ ) =>’no_duplicates’,
    __(‘Enforce duplicates (if a blog element on the page should show the same entries as this slider use this setting)’, ‘avia_framework’ ) =>’enforce_duplicates’

    )
    )
    ),

    array(
    “name” => __(“Title and Read More Button”,’avia_framework’ ),
    “desc” => __(“Choose if you want to only display the post title or title and a call to action button”,’avia_framework’ ),
    “id” => “contents”,
    “type” => “select”,
    “std” => “title”,
    “subtype” => array(
    __(‘Only Title’, ‘avia_framework’ ) =>’title’,
    __(‘Title + Read More Button’, ‘avia_framework’ ) =>’title_read_more’,
    __(‘Title + Excerpt + Read More Button’, ‘avia_framework’ ) =>’title_excerpt_read_more’,
    )
    ),

    array(
    “name” => __(“Slider Width/Height Ratio”, ‘avia_framework’ ),
    “desc” => __(“The slider will always stretch the full available width. Here you can enter the corresponding height (eg: 4:3, 16:9) or a fixed height in px (eg: 300px)”, ‘avia_framework’ ),
    “id” => “slider_size”,
    “type” => “input”,
    “std” => “16:9”,
    ),

    array(
    “name” => __(“Preview Image Size”, ‘avia_framework’ ),
    “desc” => __(“Set the image size of the preview images”, ‘avia_framework’ ),
    “id” => “preview_mode”,
    “type” => “select”,
    “std” => “auto”,
    “subtype” => array(

    __(‘Set the preview image size automatically based on slider height’,’avia_framework’ ) =>’auto’,
    __(‘Choose the preview image size manually (select thumbnail size)’,’avia_framework’ ) =>’custom’)),

    array(
    “name” => __(“Select custom preview image size”, ‘avia_framework’ ),
    “desc” => __(“Choose image size for Preview Image”, ‘avia_framework’ ),
    “id” => “image_size”,
    “type” => “select”,
    “required” => array(‘preview_mode’,’equals’,’custom’),
    “std” => “portfolio”,
    “subtype” => AviaHelper::get_registered_image_sizes(array(‘logo’))
    ),

    array(
    “name” => __(“Slideshow control styling?”,’avia_framework’ ),
    “desc” => __(“Here you can select if and how to display the slideshow controls”,’avia_framework’ ),
    “id” => “control_layout”,
    “type” => “select”,
    “std” => “”,
    “subtype” => array(__(‘Default’,’avia_framework’ ) =>’av-control-default’,__(‘Minimal White’,’avia_framework’ ) =>’av-control-minimal’, __(‘Minimal Black’,’avia_framework’ ) =>’av-control-minimal av-control-minimal-dark’,__(‘Hidden’,’avia_framework’ ) =>’av-control-hidden’)),

    array(
    “type” => “close_div”,
    ‘nodescription’ => true
    ),

    array(
    “type” => “tab”,
    “name” => __(“Slider Transitions”,’avia_framework’ ),
    ‘nodescription’ => true
    ),

    array(
    “name” => __(“Transition”, ‘avia_framework’ ),
    “desc” => __(“Choose the transition for your Slider.”, ‘avia_framework’ ),
    “id” => “animation”,
    “type” => “select”,
    “std” => “fade”,
    “subtype” => array(__(‘Slide’,’avia_framework’ ) =>’slide’,__(‘Fade’,’avia_framework’ ) =>’fade’),
    ),

    array(
    “name” => __(“Autorotation active?”,’avia_framework’ ),
    “desc” => __(“Check if the slideshow should rotate by default”,’avia_framework’ ),
    “id” => “autoplay”,
    “type” => “select”,
    “std” => “no”,
    “subtype” => array(__(‘Yes’,’avia_framework’ ) =>’yes’,__(‘No’,’avia_framework’ ) =>’no’)),

    array(
    “name” => __(“Slideshow autorotation duration”,’avia_framework’ ),
    “desc” => __(“Slideshow will rotate every X seconds”,’avia_framework’ ),
    “id” => “interval”,
    “type” => “select”,
    “std” => “5”,
    “required” => array(‘autoplay’,’equals’,’yes’),
    “subtype” =>
    array(‘3’=>’3′,’4’=>’4′,’5’=>’5′,’6’=>’6′,’7’=>’7′,’8’=>’8′,’9’=>’9′,’10’=>’10’,’15’=>’15’,’20’=>’20’,’30’=>’30’,’40’=>’40’,’60’=>’60’,’100’=>’100′)),

    array(
    “type” => “close_div”,
    ‘nodescription’ => true
    ),

    array(
    “type” => “tab”,
    “name” => __(“Slide Overlay”,’avia_framework’ ),
    ‘nodescription’ => true
    ),

    array(
    “name” => __(“Enable Overlay?”, ‘avia_framework’ ),
    “desc” => __(“Check if you want to display a transparent color and/or pattern overlay above your slideshow image/video”, ‘avia_framework’ ),
    “id” => “overlay_enable”,
    “std” => “”,
    “type” => “checkbox”),

    array(
    “name” => __(“Overlay Opacity”,’avia_framework’ ),
    “desc” => __(“Set the opacity of your overlay: 0.1 is barely visible, 1.0 is opaque “, ‘avia_framework’ ),
    “id” => “overlay_opacity”,
    “type” => “select”,
    “std” => “0.5”,
    “required” => array(‘overlay_enable’,’not’,”),
    “subtype” => array( __(‘0.1′,’avia_framework’ )=>’0.1′,
    __(‘0.2′,’avia_framework’ )=>’0.2′,
    __(‘0.3′,’avia_framework’ )=>’0.3′,
    __(‘0.4′,’avia_framework’ )=>’0.4′,
    __(‘0.5′,’avia_framework’ )=>’0.5′,
    __(‘0.6′,’avia_framework’ )=>’0.6′,
    __(‘0.7′,’avia_framework’ )=>’0.7′,
    __(‘0.8′,’avia_framework’ )=>’0.8′,
    __(‘0.9′,’avia_framework’ )=>’0.9′,
    __(‘1.0′,’avia_framework’ )=>’1′,
    )
    ),

    array(
    “name” => __(“Overlay Color”, ‘avia_framework’ ),
    “desc” => __(“Select a custom color for your overlay here. Leave empty if you want no color overlay”, ‘avia_framework’ ),
    “id” => “overlay_color”,
    “type” => “colorpicker”,
    “required” => array(‘overlay_enable’,’not’,”),
    “std” => “”,
    ),

    array(
    “required” => array(‘overlay_enable’,’not’,”),
    “id” => “overlay_pattern”,
    “name” => __(“Background Image”, ‘avia_framework’),
    “desc” => __(“Select an existing or upload a new background image”, ‘avia_framework’),
    “type” => “select”,
    “subtype” => array(__(‘No Background Image’, ‘avia_framework’)=>”,__(‘Upload custom image’, ‘avia_framework’)=>’custom’),
    “std” => “”,
    “folder” => “images/background-images/”,
    “folderlabel” => “”,
    “group” => “Select predefined pattern”,
    “exclude” => array(‘fullsize-‘, ‘gradient’)
    ),

    array(
    “name” => __(“Custom Pattern”,’avia_framework’ ),
    “desc” => __(“Upload your own seamless pattern”,’avia_framework’ ),
    “id” => “overlay_custom_pattern”,
    “type” => “image”,
    “fetch” => “url”,
    “secondary_img”=>true,
    “required” => array(‘overlay_pattern’,’equals’,’custom’),
    “title” => __(“Insert Pattern”,’avia_framework’ ),
    “button” => __(“Insert”,’avia_framework’ ),
    “std” => “”),

    array(
    “type” => “close_div”,
    ‘nodescription’ => true
    ),

    array(
    “type” => “tab”,
    “name” => __(“Screen Options”,’avia_framework’ ),
    ‘nodescription’ => true
    ),

    array(
    “name” => __(“Element Visibility”,’avia_framework’ ),
    “desc” => __(“Set the visibility for this element, based on the device screensize.”, ‘avia_framework’ ),
    “type” => “heading”,
    “description_class” => “av-builder-note av-neutral”,
    ),

    array(
    “desc” => __(“Hide on large screens (wider than 990px – eg: Desktop)”, ‘avia_framework’),
    “id” => “av-desktop-hide”,
    “std” => “”,
    “container_class” => ‘av-multi-checkbox’,
    “type” => “checkbox”),

    array(

    “desc” => __(“Hide on medium sized screens (between 768px and 989px – eg: Tablet Landscape)”, ‘avia_framework’),
    “id” => “av-medium-hide”,
    “std” => “”,
    “container_class” => ‘av-multi-checkbox’,
    “type” => “checkbox”),

    array(

    “desc” => __(“Hide on small screens (between 480px and 767px – eg: Tablet Portrait)”, ‘avia_framework’),
    “id” => “av-small-hide”,
    “std” => “”,
    “container_class” => ‘av-multi-checkbox’,
    “type” => “checkbox”),

    array(

    “desc” => __(“Hide on very small screens (smaller than 479px – eg: Smartphone Portrait)”, ‘avia_framework’),
    “id” => “av-mini-hide”,
    “std” => “”,
    “container_class” => ‘av-multi-checkbox’,
    “type” => “checkbox”),

    array(
    “name” => __(“Caption Title Font Size”,’avia_framework’ ),
    “desc” => __(“Set the font size for the element title, based on the device screensize.”, ‘avia_framework’ ),
    “type” => “heading”,
    “description_class” => “av-builder-note av-neutral”,
    ),

    array( “name” => __(“Font Size for medium sized screens (between 768px and 989px – eg: Tablet Landscape)”, ‘avia_framework’ ),
    “id” => “av-medium-font-size-title”,
    “type” => “select”,
    “subtype” => AviaHtmlHelper::number_array(10,120,1, array( __(“Default”, ‘avia_framework’ )=>” , __(“Hidden”, ‘avia_framework’ )=>’hidden’ ), “px”),
    “std” => “”),

    array( “name” => __(“Font Size for small screens (between 480px and 767px – eg: Tablet Portrait)”, ‘avia_framework’ ),
    “id” => “av-small-font-size-title”,
    “type” => “select”,
    “subtype” => AviaHtmlHelper::number_array(10,120,1, array( __(“Default”, ‘avia_framework’ )=>”, __(“Hidden”, ‘avia_framework’ )=>’hidden’), “px”),
    “std” => “”),

    array( “name” => __(“Font Size for very small screens (smaller than 479px – eg: Smartphone Portrait)”, ‘avia_framework’ ),
    “id” => “av-mini-font-size-title”,
    “type” => “select”,
    “subtype” => AviaHtmlHelper::number_array(10,120,1, array( __(“Default”, ‘avia_framework’ )=>”, __(“Hidden”, ‘avia_framework’ )=>’hidden’), “px”),
    “std” => “”),

    array(
    “name” => __(“Caption Content Font Size”,’avia_framework’ ),
    “desc” => __(“Set the font size for the element content, based on the device screensize.”, ‘avia_framework’ ),
    “type” => “heading”,
    “description_class” => “av-builder-note av-neutral”,
    ),

    array( “name” => __(“Font Size for medium sized screens (between 768px and 989px – eg: Tablet Landscape)”, ‘avia_framework’ ),
    “id” => “av-medium-font-size”,
    “type” => “select”,
    “subtype” => AviaHtmlHelper::number_array(10,120,1, array( __(“Default”, ‘avia_framework’ )=>”, __(“Hidden”, ‘avia_framework’ )=>’hidden’), “px”),
    “std” => “”),

    array( “name” => __(“Font Size for small screens (between 480px and 767px – eg: Tablet Portrait)”, ‘avia_framework’ ),
    “id” => “av-small-font-size”,
    “type” => “select”,
    “subtype” => AviaHtmlHelper::number_array(10,120,1, array( __(“Default”, ‘avia_framework’ )=>”, __(“Hidden”, ‘avia_framework’ )=>’hidden’), “px”),
    “std” => “”),

    array( “name” => __(“Font Size for very small screens (smaller than 479px – eg: Smartphone Portrait)”, ‘avia_framework’ ),
    “id” => “av-mini-font-size”,
    “type” => “select”,
    “subtype” => AviaHtmlHelper::number_array(10,120,1, array( __(“Default”, ‘avia_framework’ )=>”, __(“Hidden”, ‘avia_framework’ )=>’hidden’), “px”),
    “std” => “”),

    array(
    “type” => “close_div”,
    ‘nodescription’ => true
    ),

    array(
    “type” => “close_div”,
    ‘nodescription’ => true
    ),

    );

    if(current_theme_supports(‘add_avia_builder_post_type_option’))
    {
    $element = array(
    “name” => __(“Select Post Type”, ‘avia_framework’ ),
    “desc” => __(“Select which post types should be used. Note that your taxonomy will be ignored if you do not select an assign post type.
    If yo don’t select post type all registered post types will be used”, ‘avia_framework’ ),
    “id” => “post_type”,
    “type” => “select”,
    “multiple” => 6,
    “std” => “”,
    “subtype” => AviaHtmlHelper::get_registered_post_type_array()
    );

    array_unshift($this->elements, $element);
    }
    }

    /**
    * Editor Element – this function defines the visual appearance of an element on the AviaBuilder Canvas
    * Most common usage is to define some markup in the $params[‘innerHtml’] which is then inserted into the drag and drop container
    * Less often used: $params[‘data’] to add data attributes, $params[‘class’] to modify the className
    *
    *
    * @param array $params this array holds the default values for $content and $args.
    * @return $params the return array usually holds an innerHtml key that holds item specific markup.
    */
    function editor_element($params)
    {
    $params[‘innerHtml’] = “config[‘icon’].”‘ title='”.$this->config[‘name’].”‘ />”;
    $params[‘innerHtml’].= “<div class=’avia-element-label’>”.$this->config[‘name’].”</div>”;

    $params[‘innerHtml’].= “<div class=’avia-flex-element’>”;
    $params[‘innerHtml’].= __(‘This element will stretch across the whole screen by default.’,’avia_framework’).”<br/>”;
    $params[‘innerHtml’].= __(‘If you put it inside a color section or column it will only take up the available space’,’avia_framework’);
    $params[‘innerHtml’].= ” <div class=’avia-flex-element-2nd’>”.__(‘Currently:’,’avia_framework’);
    $params[‘innerHtml’].= ” <span class=’avia-flex-element-stretched’>« “.__(‘Stretch fullwidth’,’avia_framework’).” »</span>”;
    $params[‘innerHtml’].= ” <span class=’avia-flex-element-content’>| “.__(‘Adjust to content width’,’avia_framework’).” |</span>”;
    $params[‘innerHtml’].= “</div></div>”;

    return $params;
    }

    /**
    * Frontend Shortcode Handler
    *
    * @param array $atts array of attributes
    * @param string $content text within enclosing form of shortcode element
    * @param string $shortcodename the shortcode found, when == callback name
    * @return string $output returns the modified html string
    */
    function shortcode_handler($atts, $content = “”, $shortcodename = “”, $meta = “”)
    {
    if(isset($atts[‘link’]))
    {
    $atts[‘link’] = explode(‘,’, $atts[‘link’], 2 );
    $atts[‘taxonomy’] = $atts[‘link’][0];

    if(isset($atts[‘link’][1]))
    {
    $atts[‘categories’] = $atts[‘link’][1];
    }
    }

    // $atts[‘class’] = $meta[‘el_class’];

    extract(AviaHelper::av_mobile_sizes($atts)); //return $av_font_classes, $av_title_font_classes and $av_display_classes
    extract($atts);
    $output = “”;
    $class = “”;

    $skipSecond = false;
    avia_sc_featureimage_slider::$slide_count++;

    $params[‘class’] = “avia-featureimage-slider-wrap main_color {$av_display_classes} “.$meta[‘el_class’].$class;
    $params[‘open_structure’] = false;

    $params[‘custom_markup’] = $atts[‘custom_markup’] = $meta[‘custom_markup’];

    //we dont need a closing structure if the element is the first one or if a previous fullwidth element was displayed before
    if($meta[‘index’] == 0) $params[‘close’] = false;
    if(!empty($meta[‘siblings’][‘prev’][‘tag’]) && in_array($meta[‘siblings’][‘prev’][‘tag’], AviaBuilder::$full_el_no_section )) $params[‘close’] = false;

    if($meta[‘index’] != 0) $params[‘class’] .= ” slider-not-first”;

    $params[‘id’] = “avia_feature_image_slider_”.avia_sc_slider_full::$slide_count;

    $slider = new avia_feature_image_slider($atts);
    $slider->query_entries();
    $slide_html = $slider->html();

    //if the element is nested within a section or a column dont create the section shortcode around it
    if(!ShortcodeHelper::is_top_level()) return $slide_html;

    // $slide_html = “<div class=’container’>” . $slide_html . “</div>”;

    $output .= avia_new_section($params);
    $output .= $slide_html;
    $output .= “</div>”; //close section

    //if the next tag is a section dont create a new section from this shortcode
    if(!empty($meta[‘siblings’][‘next’][‘tag’]) && in_array($meta[‘siblings’][‘next’][‘tag’], AviaBuilder::$full_el ))
    {
    $skipSecond = true;
    }

    //if there is no next element dont create a new section.
    if(empty($meta[‘siblings’][‘next’][‘tag’]))
    {
    $skipSecond = true;
    }

    if(empty($skipSecond)) {

    $output .= avia_new_section(array(‘close’=>false, ‘id’ => “after_full_slider_”.avia_sc_slider_full::$slide_count));

    }

    return $output;

    }

    }
    }

    if ( !class_exists( ‘avia_feature_image_slider’ ) )
    {
    class avia_feature_image_slider
    {
    static $slider = 0;
    protected $slide_count = 0;
    protected $atts;
    protected $entries;

    function __construct($atts = array())
    {

    $this->screen_options = AviaHelper::av_mobile_sizes($atts); //return $av_font_classes, $av_title_font_classes and $av_display_classes

    $this->atts = shortcode_atts(array( ‘items’ => ’16’,
    ‘taxonomy’ => ‘category’,
    ‘post_type’ => get_post_types(),
    ‘contents’ => ‘title’,
    ‘preview_mode’ => ‘auto’,
    ‘image_size’ => ‘portfolio’,
    ‘autoplay’ => ‘no’,
    ‘animation’ => ‘fade’,
    ‘paginate’ => ‘no’,
    ‘use_main_query_pagination’ => ‘no’,
    ‘interval’ => 5,
    ‘class’ => ”,
    ‘categories’ => array(),
    ‘wc_prod_visible’ => ”,
    ‘prod_order_by’ => ”,
    ‘prod_order’ => ”,
    ‘custom_query’ => array(),
    ‘lightbox_size’ => ‘large’,
    ‘offset’ => 0,
    ‘bg_slider’ =>true,
    ‘keep_pading’ => true,
    ‘custom_markup’ => ”,
    ‘slider_size’ => ’16:9′,
    ‘control_layout’ => ”,
    ‘overlay_enable’ => ”,
    ‘overlay_opacity’ => ”,
    ‘overlay_color’ => ”,
    ‘overlay_pattern’ => ”,
    ‘overlay_custom_pattern’ => ”,

    ), $atts, ‘av_feature_image_slider’);

    if($this->atts[‘autoplay’] == “no”)
    $this->atts[‘autoplay’] = false;

    }

    public function html()
    {
    $html = “”;
    $counter = 0;
    $style = “”;
    $extraClass = “”;
    $style = “”;
    avia_feature_image_slider::$slider++;

    if($this->slide_count == 0) return $html;

    if(!empty($this->atts[‘default-height’]))
    {
    $style = “style=’padding-bottom: {{av-default-heightvar}}%;'”;
    $extraClass .= ” av-default-height-applied”;
    }

    if(strpos( $this->atts[‘slider_size’] , “:”) !== false)
    {
    $ratio = explode(‘:’,trim($this->atts[‘slider_size’]));
    if(empty($ratio[0])) $ratio[0] = 16;
    if(empty($ratio[1])) $ratio[1] = 9;
    $final_ratio = ((int) $ratio[0] / (int) $ratio[1]);
    $def_height = “padding-bottom:” . (100/$final_ratio). “%”;

    }
    else
    {
    $def_height = (int) $this->atts[‘slider_size’];
    $def_height = “height: {$def_height}px”;
    }

    extract($this->screen_options);

    $style = “style='{$def_height}'”;
    if(!empty($this->atts[‘control_layout’])) $extraClass .= ” “.$this->atts[‘control_layout’];

    $markup = avia_markup_helper(array(‘context’ => ‘image’,’echo’=>false, ‘custom_markup’=>$this->atts[‘custom_markup’]));

    $data = AviaHelper::create_data_string($this->atts);

    $html .= “<div {$data} class=’avia-slideshow avia-featureimage-slideshow avia-animated-caption {$av_display_classes} avia-slideshow-“.avia_sc_featureimage_slider::$slide_count.” {$extraClass} avia-slideshow-“.$this->atts[‘image_size’].” “.$this->atts[‘class’].” avia-“.$this->atts[‘animation’].”-slider ‘ $markup>”;

    $html .= “<ul class=’avia-slideshow-inner avia-slideshow-fixed-height’ {$style}>”;

    $html .= $this->default_slide();

    $html .= ““;

    if($this->slide_count > 1)
    {
    $html .= $this->slide_navigation_arrows();
    $html .= $this->slide_navigation_dots();
    }

    if(!empty($this->atts[‘caption_override’])) $html .= $this->atts[‘caption_override’];

    $html .= “</div>”;

    if(!empty($this->atts[‘default-height’]))
    {
    $html = str_replace(‘{{av-default-heightvar}}’, $this->atts[‘default-height’], $html);
    }

    return $html;
    }

    //function that renders the usual slides. use when we didnt use sub-shorcodes to define the images but ids
    protected function default_slide()
    {
    $html = “”;
    $counter = 0;

    extract($this->screen_options);

    $markup_url = avia_markup_helper(array(‘context’ => ‘image_url’,’echo’=>false, ‘custom_markup’=>$this->atts[‘custom_markup’]));

    foreach ($this->entries->posts as $slide)
    {
    $counter ++;
    $thumb_id = get_post_thumbnail_id( $slide->ID );
    $slide_class = “”;

    $img = wp_get_attachment_image_src($thumb_id, $this->atts[‘image_size’]);
    $link = get_post_meta( $slide->ID ,’_portfolio_custom_link’, true ) != “” ? get_post_meta( $slide->ID ,’_portfolio_custom_link_url’, true ) : get_permalink( $slide->ID );
    $title = get_the_title( $slide->ID );

    $caption = “”;
    $caption .= ‘ <div class=”caption_fullwidth av-slideshow-caption caption_center”>’;
    $caption .= ‘ <div class=”container caption_container”>’;
    $caption .= ‘ <div class=”slideshow_caption”>’;
    $caption .= ‘ <div class=”slideshow_inner_caption”>’;
    $caption .= ‘ <div class=”slideshow_align_caption”>’;
    //$caption .= ‘ <h2 class=”avia-caption-title”>‘.$title.’</h2>’;

    if(strpos($this->atts[‘contents’], ‘excerpt’) !== false)
    {
    $excerpt = !empty($slide->post_excerpt) ? $slide->post_excerpt : avia_backend_truncate($slide->post_content, apply_filters( ‘avf_feature_image_slider_excerpt_length’ , 320) , apply_filters( ‘avf_feature_image_slider_excerpt_delimiter’ , ” “), “…”, true, ”);

    if(!empty($excerpt)){
    $caption .= ‘ <div class=”avia-caption-content ‘.$av_font_classes.'” itemprop=”description”>’;
    $caption .= wpautop($excerpt);
    $caption .= ‘ </div>’;
    }
    }

    if(strpos($this->atts[‘contents’], ‘read_more’) !== false)
    {
    $caption .= ‘ ‘.__(‘Read more’, ‘avia_framework’).’‘;

    }
    $caption .= ‘ </div>’;
    $caption .= ‘ </div>’;
    $caption .= ‘ </div>’;
    $caption .= ‘ </div>’;
    $caption .= $this->create_overlay();
    $caption .= ‘ </div>’;

    $slide_data = “data-img-url='”.$img[0].”‘”;

    if(empty($img)) $slide_class .= ” av-no-image-slider”;

    $html .= “<li {$slide_data} class=’slide-{$counter} {$slide_class} slide-id-“.$slide->ID.”‘>”;
    $html .= $caption;
    $html .= “
    “;
    }

    return $html;
    }

    protected function slide_navigation_dots()
    {
    $html = “”;
    $html .= “<div class=’avia-slideshow-dots avia-slideshow-controls’>”;
    $active = “active”;

    for($i = 1; $i <= $this->slide_count; $i++)
    {
    $html .= “{$i}“;
    $active = “”;
    }

    $html .= “</div>”;

    return $html;
    }

    protected function slide_navigation_arrows()
    {
    $html = “”;
    $html .= “<div class=’avia-slideshow-arrows avia-slideshow-controls’>”;
    $html .= ““.__(‘Previous’,’avia_framework’ ).”“;
    $html .= ““.__(‘Next’,’avia_framework’ ).”“;
    $html .= “</div>”;

    return $html;
    }

    protected function create_overlay()
    {
    extract($this->atts);

    /*check/create overlay*/
    $overlay = “”;
    if(!empty($overlay_enable))
    {
    $overlay_src = “”;
    $overlay = “opacity: {$overlay_opacity}; “;
    if(!empty($overlay_color)) $overlay .= “background-color: {$overlay_color}; “;
    if(!empty($overlay_pattern))
    {
    if($overlay_pattern == “custom”)
    {
    $overlay_src = $overlay_custom_pattern;
    }
    else
    {
    $overlay_src = str_replace(‘{{AVIA_BASE_URL}}’, AVIA_BASE_URL, $overlay_pattern);
    }
    }

    if(!empty($overlay_src)) $overlay .= “background-image: url({$overlay_src}); background-repeat: repeat;”;
    $overlay = “<div class=’av-section-color-overlay’ style='{$overlay}’></div>”;
    }

    return $overlay;
    }

    //fetch new entries
    public function query_entries($params = array())
    {
    global $avia_config;

    if(empty($params)) $params = $this->atts;

    if(empty($params[‘custom_query’]))
    {
    $query = array();

    if(!empty($params[‘categories’]))
    {
    //get the portfolio categories
    $terms = explode(‘,’, $params[‘categories’]);
    }

    $page = get_query_var( ‘paged’ ) ? get_query_var( ‘paged’ ) : get_query_var( ‘page’ );
    if(!$page || $params[‘paginate’] == ‘no’) $page = 1;

    //if we find no terms for the taxonomy fetch all taxonomy terms
    if(empty($terms[0]) || is_null($terms[0]) || $terms[0] === “null”)
    {
    $terms = array();
    $allTax = get_terms( $params[‘taxonomy’]);
    foreach($allTax as $tax)
    {
    $terms[] = $tax->term_id;
    }

    }

    if($params[‘offset’] == ‘no_duplicates’)
    {
    $params[‘offset’] = 0;
    $no_duplicates = true;
    }

    if($params[‘offset’] == ‘enforce_duplicates’)
    {
    $params[‘offset’] = 0;
    $no_duplicates = false;
    }

    if(empty($params[‘post_type’])) $params[‘post_type’] = get_post_types();
    if(is_string($params[‘post_type’])) $params[‘post_type’] = explode(‘,’, $params[‘post_type’]);

    $orderby = ‘date’;
    $order = ‘DESC’;

    // Meta query – replaced by Tax query in WC 3.0.0
    $meta_query = array();
    $tax_query = array();

    // check if taxonomy are set to product or product attributes
    $tax = get_taxonomy( $params[‘taxonomy’] );

    if( class_exists( ‘WooCommerce’ ) && is_object( $tax ) && isset( $tax->object_type ) && in_array( ‘product’, (array) $tax->object_type ) )
    {
    $avia_config[‘woocommerce’][‘disable_sorting_options’] = true;

    avia_wc_set_out_of_stock_query_params( $meta_query, $tax_query, $params[‘wc_prod_visible’] );

    // sets filter hooks !!
    $ordering_args = avia_wc_get_product_query_order_args( $params[‘prod_order_by’], $params[‘prod_order’] );

    $orderby = $ordering_args[‘orderby’];
    $order = $ordering_args[‘order’];
    }

    if( ! empty( $terms ) )
    {
    $tax_query[] = array(
    ‘taxonomy’ => $params[‘taxonomy’],
    ‘field’ => ‘id’,
    ‘terms’ => $terms,
    ‘operator’ => ‘IN’
    );
    }

    $query = array( ‘orderby’ => $orderby,
    ‘order’ => $order,
    ‘paged’ => $page,
    ‘post_type’ => $params[‘post_type’],
    // ‘post_status’ => ‘publish’,
    ‘offset’ => $params[‘offset’],
    ‘posts_per_page’ => $params[‘items’],
    ‘post__not_in’ => ( ! empty( $no_duplicates ) ) ? $avia_config[‘posts_on_current_page’] : array(),
    ‘meta_query’ => $meta_query,
    ‘tax_query’ => $tax_query
    );

    }
    else
    {
    $query = $params[‘custom_query’];
    }

    $query = apply_filters(‘avia_feature_image_slider_query’, $query, $params);

    $this->entries = new WP_Query( $query );

    $this->slide_count = count($this->entries->posts);

    // store the queried post ids in
    if( $this->entries->have_posts() && $params[‘offset’] != ‘enforce_duplicates’)
    {
    while( $this->entries->have_posts() )
    {
    $this->entries->the_post();
    $avia_config[‘posts_on_current_page’][] = get_the_ID();
    }
    }

    if( function_exists( ‘WC’ ) )
    {
    avia_wc_clear_catalog_ordering_args_filters();
    $avia_config[‘woocommerce’][‘disable_sorting_options’] = false;
    }

    }
    }
    }

    #1003223
    kcloud3
    Participant

    I used the function below to eliminate the render-blocking JavaScript for one script. I have multiple scripts that need to be processed the same way. How do I do that? Need to add these scripts:

    https://***.com/wp-includes/js/jquery/jquery.js
    https://***.com/…includes/js/jquery/jquery-migrate.min.js
    https://***.com/…-content/themes/enfold/js/avia-compat.js

    <?php
    function add_custom_tooltip(){
    ?>
    <script>(function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = “https://***com/wp-includes/js/jquery/jquery.js&#8221;;
    fjs.parentNode.insertBefore(js, fjs);
    }(document, ‘script’, ‘facebook-jssdk’));</script>
    <?php
    }
    add_action(‘wp_footer’, ‘add_custom_tooltip’);
    /*
    * Add your own functions here. You can also copy some of the theme functions into this file.
    * WordPress will use those functions instead of the original functions then.
    */

    • This topic was modified 7 years, 4 months ago by kcloud3.
    #1000179
    Fischpi
    Participant

    Hi,

    i did add main-content background picture. All good. But now the picture will also displayed as hotspot tooltip background! How i can prevent it? I don’t want any background in hotspot tooltip.

    Thanks
    Fischpi

    #1000072

    so the one method works with permanent Tooltip Window open !
    so we than go and do the rest with quick css:

    .avia-tooltip {
        opacity: 0;
        display: none !important;
    }
    
    .av-image-hotspot:hover .avia-tooltip {
        display: block !important;
        opacity: 1 !important;
    }

    this is what comes to functions.php of your child theme:

    function ava_tooltip_script() {
    ?>
    <script type="text/javascript">
    	(function($) {
    		function b() {
    			$(".inner_tooltip a").magnificPopup({
    	    		type: 'iframe',
    	    		mainClass: 'avia-popup mfp-zoom-in',
    	       	});
    		}
    		$(window).load(function() {
    			b();
    		});
    	})(jQuery);
    </script>
    <?php
    }
    add_action( 'wp_footer', 'ava_tooltip_script' );

    see here: https://webers-testseite.de/image-with-hotspost-linking-to-youtube-in-iframes/

    #1000053

    the thing is that the tooltip window (hotspot image on the bottom of my link) only arises when hovering the tooltip
    it does not exist in the DOM till hovering – so my code here: Link has no influence on it.
    Even the DOMNodeInserted function does not work here

    #1000013

    next problem i changed in avia-modal.js the ( i tried both lines ) from mouseenter to click
    but it does not work (even after clearing all caches)

    best solution was in my opinion if we let the mouseenter event – but
    the window must stay open till a link is clicked in the inner tooltip.

    on line 1498 of avia.js : $.AviaTooltip = function(options)

    do we have to change something additional to the avia-modal.js?

    #1000009

    so we can force the links inside the inner_tooltip to open in lightbox by this snippet in functions.php of the child-theme:

    add_action( 'wp_footer', 'ava_tooltip_script' );
    function ava_tooltip_script() {
    	?>
    	<script type="text/javascript">
    	(function($) {
    		function b() {
    			$(".inner_tooltip a").magnificPopup({
    	    		type: 'iframe',
    	    		mainClass: 'avia-popup mfp-zoom-in',
    	       	});
    		}
    		$(window).load(function() {
    			b();
    		});
    	})(jQuery);
    	</script>
    	<?php
    }

    so now see page: https://webers-testseite.de/image-with-hotspost-linking-to-youtube-in-iframes/

    #999996

    this is not the solution – it is a styling point of view.
    If you set the tooltip alway visible (see link above) the inner link (inner_tooltip) does not link in lightbox – allthough the image has the iframe=true thing.
    So for me it would be nice to open the tooltip on click ( you will use than instead of mouseenter the click event) – and then click on the image in the tooltip to oben the lightbox.
    But i do not realy know why the link does not open in lightbox.

    #999523

    on this case you had to change to click event and not on hover tooltip.
    This is set in avia-modal.js in line 903ff

    /*highlight the modal sub el when hotspot is hovered*/
       				_self.hotspot_container.on('mouseenter', '.av-image-hotspot', function()
       				{
       					var el = $(this).data('modal_sub_el');
       					if(el) el.addClass('av-highlight-subel');
       				});

    maybe than it would be possible to have a link in the tooltip window opening on lightbox.
    The problem then would be that the tooltip is itself a “popup-window” – but you like to open it in a new lightbox window.

    #999517

    Yes the link on the hotspot iworks, but i would like to add the link inside the tooltip. Link a button or some text.

    #998752

    Hi newki75,

    So you just want to change the styles of the tooltip? Can we disable css merging?

    Best regards,
    Victoria

    #997448

    Hi,

    The body or paragraph font size is set to 14px on desktop and mobile view. Is that what you want? You can use this css code to adjust the font size on mobile view.

    @media only screen and (max-width: 767px) {
    body, body .avia-tooltip {
        font-size: 13px;
    }
    }

    Best regards,
    Ismael

    #997146

    Hey Victoria,

    thanks for your reply! I’ve found the right spot in postslider.php and could mod it successfully :)

    Now I just have one further question: Can I put the modded postslider.php into the child-theme folder?

    Best Regards,
    Birger

    If someone else is interested in the modded postslider.php, here’s the code (whole file):

    <?php
    /**
     * Post Slider
     *
     * Display a Slideshow of Post Entries
     * Element is in Beta and by default disabled. Todo: test with layerslider elements. currently throws error bc layerslider is only included if layerslider element is detected which is not the case with the post/page element
     */
    if ( ! defined( 'ABSPATH' ) ) {  exit;  }    // Exit if accessed directly
    
    if ( !class_exists( 'avia_sc_postslider' ))
    {
    	class avia_sc_postslider extends aviaShortcodeTemplate
    	{
    
    		/**
    		 * Create the config array for the shortcode button
    		 */
    		function shortcode_insert_button()
    		{
    			$this->config['self_closing']	=	'yes';
    			
    			$this->config['name']		= __('Post Slider', 'avia_framework' );
    			$this->config['tab']		= __('Content Elements', 'avia_framework' );
    			$this->config['icon']		= AviaBuilder::$path['imagesURL']."sc-postslider.png";
    			$this->config['order']		= 30;
    			$this->config['target']		= 'avia-target-insert';
    			$this->config['shortcode'] 	= 'av_postslider';
    			$this->config['tooltip'] 	= __('Display a Slideshow of Post Entries', 'avia_framework' );
    			$this->config['drag-level'] = 3;
    			$this->config['disabling_allowed'] = true;
    		}
    		
    		
    		function extra_assets()
    		{
    			//load css
    			wp_enqueue_style( 'avia-module-slideshow' , AviaBuilder::$path['pluginUrlRoot'].'avia-shortcodes/slideshow/slideshow.css' , array('avia-layout'), false );
    			wp_enqueue_style( 'avia-module-postslider' , AviaBuilder::$path['pluginUrlRoot'].'avia-shortcodes/postslider/postslider.css' , array('avia-module-slideshow'), false );
    			
    				//load js
    			wp_enqueue_script( 'avia-module-slideshow' , AviaBuilder::$path['pluginUrlRoot'].'avia-shortcodes/slideshow/slideshow.js' , array('avia-shortcodes'), false, TRUE );
    
    		
    		}
    
    		/**
    		 * Popup Elements
    		 *
    		 * If this function is defined in a child class the element automatically gets an edit button, that, when pressed
    		 * opens a modal window that allows to edit the element properties
    		 *
    		 * @return void
    		 */
    		function popup_elements()
    		{
    			$this->elements = array(
    				array(
    						"type" 	=> "tab_container", 'nodescription' => true
    					),
    					
    				array(
    						"type" 	=> "tab",
    						"name"  => __("Content" , 'avia_framework'),
    						'nodescription' => true
    					),
    				array(
    						"name" 	=> __("Which Entries?", 'avia_framework' ),
    						"desc" 	=> __("Select which entries should be displayed by selecting a taxonomy", 'avia_framework' ),
    						"id" 	=> "link",
    						"fetchTMPL"	=> true,
    						"type" 	=> "linkpicker",
    						"subtype"  => array( __('Display Entries from:',  'avia_framework' )=>'taxonomy'),
    						"multiple"	=> 6,
    						"std" 	=> "category"
    				),
    				
    				array(
    						"name" 	=> __("WooCommerce Product visibility?", 'avia_framework' ),
    						"desc" 	=> __("Select the visibility of WooCommerce products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Inventory -&gt Out of stock visibility", 'avia_framework' ),
    						"id" 	=> "wc_prod_visible",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"required" => array( 'link', 'parent_in_array', implode( ' ', get_object_taxonomies( 'product', 'names' ) ) ),
    						"subtype" => array(
    							__('Use default WooCommerce Setting (Settings -> Products -> Out of stock visibility)',  'avia_framework' ) => '',
    							__('Hide products out of stock',  'avia_framework' ) => 'hide',
    							__('Show products out of stock',  'avia_framework' )  => 'show')
    					),
    				
    				array(
    						"name" 	=> __( "Sorting Options", 'avia_framework' ),
    						"desc" 	=> __( "Here you can choose how to sort the products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Display -&gt Default product sorting", 'avia_framework' ),
    						"id" 	=> "prod_order_by",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"required" => array( 'link', 'parent_in_array', implode( ' ', get_object_taxonomies( 'product', 'names' ) ) ),
    						"subtype" => array( 
    								__('Use defaut (defined at Woocommerce -> Settings -&gt Default product sorting) ', 'avia_framework' ) =>	'',
    								__('Sort alphabetically', 'avia_framework' )			=>	'title',
    								__('Sort by most recent', 'avia_framework' )			=>	'date',
    								__('Sort by price', 'avia_framework' )					=>	'price',
    								__('Sort by popularity', 'avia_framework' )				=>	'popularity',
    								__('Sort randomly', 'avia_framework' )					=>	'rand'
    							)
    					),
    				
    				array(
    						"name" 	=> __( "Sorting Order", 'avia_framework' ),
    						"desc" 	=> __( "Here you can choose the order of the result products. Default setting can be set at Woocommerce -&gt Settings -&gt Products -&gt Display -&gt Default product sorting", 'avia_framework' ),
    						"id" 	=> "prod_order",
    						"type" 	=> "select",
    						"std" 	=> "",
    						"required" => array( 'link', 'parent_in_array', implode( ' ', get_object_taxonomies( 'product', 'names' ) ) ),
    						"subtype" => array( 
    								__('Use defaut (defined at Woocommerce -&gt Settings -&gt Default product sorting)', 'avia_framework' ) =>	'',
    								__('Ascending', 'avia_framework' )			=>	'ASC',
    								__('Descending', 'avia_framework' )			=>	'DESC'
    							)
    					),
    
    				array(
    						"name" 	=> __("Columns", 'avia_framework' ),
    						"desc" 	=> __("How many columns should be displayed?", 'avia_framework' ),
    						"id" 	=> "columns",
    						"type" 	=> "select",
    						"std" 	=> "3",
    						"subtype" => array(	__('1 Columns', 'avia_framework' )=>'1',
    											__('2 Columns', 'avia_framework' )=>'2',
    											__('3 Columns', 'avia_framework' )=>'3',
    											__('4 Columns', 'avia_framework' )=>'4',
    											__('5 Columns', 'avia_framework' )=>'5',
    											)),
    				array(
    						"name" 	=> __("Entry Number", 'avia_framework' ),
    						"desc" 	=> __("How many items should be displayed?", 'avia_framework' ),
    						"id" 	=> "items",
    						"type" 	=> "select",
    						"std" 	=> "9",
    						"subtype" => AviaHtmlHelper::number_array(1,100,1, array('All'=>'-1'))),
    
                    array(
                        "name" 	=> __("Offset Number", 'avia_framework' ),
                        "desc" 	=> __("The offset determines where the query begins pulling posts. Useful if you want to remove a certain number of posts because you already query them with another post slider element.", 'avia_framework' ),
                        "id" 	=> "offset",
                        "type" 	=> "select",
                        "std" 	=> "0",
                        "subtype" => AviaHtmlHelper::number_array(1,100,1, array(__('Deactivate offset','avia_framework')=>'0', __('Do not allow duplicate posts on the entire page (set offset automatically)', 'avia_framework' ) =>'no_duplicates'))),
    
    				array(
    						"name" 	=> __("Title and Excerpt",'avia_framework' ),
    						"desc" 	=> __("Choose if you want to only display the post title or title and excerpt",'avia_framework' ),
    						"id" 	=> "contents",
    						"type" 	=> "select",
    						"std" 	=> "excerpt",
    						"subtype" => array(
    							__('Title and Excerpt',  'avia_framework' ) =>'excerpt',
    							__('Title and Excerpt + Read More Link',  'avia_framework' ) =>'excerpt_read_more',
    							__('Only Title',  'avia_framework' ) =>'title',
    							__('Only Title + Read More Link',  'avia_framework' ) =>'title_read_more',
    							__('Only excerpt',  'avia_framework' ) =>'only_excerpt',
    							__('Only excerpt + Read More Link',  'avia_framework' ) =>'only_excerpt_read_more',
    							__('No Title and no excerpt',  'avia_framework' ) =>'no')),
    
    				array(
    							"name" 	=> __("Preview Image Size", 'avia_framework' ),
    							"desc" 	=> __("Set the image size of the preview images", 'avia_framework' ),
    							"id" 	=> "preview_mode",
    							"type" 	=> "select",
    							"std" 	=> "auto",
    							"subtype" => array(__('Set the preview image size automatically based on column width','avia_framework' ) =>'auto',__('Choose the preview image size manually (select thumbnail size)','avia_framework' ) =>'custom')),
    
    				array(
    							"name" 	=> __("Select custom preview image size", 'avia_framework' ),
    							"desc" 	=> __("Choose image size for Preview Image", 'avia_framework' ),
    							"id" 	=> "image_size",
    							"type" 	=> "select",
    							"required" 	=> array('preview_mode','equals','custom'),
    							"std" 	=> "portfolio",
    							"subtype" =>  AviaHelper::get_registered_image_sizes(array('logo'))
    							),
    				
    				/*
    array(
    							"name" 	=> __("Post Slider Transition", 'avia_framework' ),
    							"desc" 	=> __("Choose the transition for your Post Slider.", 'avia_framework' ),
    							"id" 	=> "animation",
    							"type" 	=> "select",
    							"std" 	=> "fade",
    							"subtype" => array(__('Slide','avia_framework' ) =>'slide',__('Fade','avia_framework' ) =>'fade'),
    							),
    */
    				
    				
    				array(
    						"name" 	=> __("Autorotation active?",'avia_framework' ),
    						"desc" 	=> __("Check if the slideshow should rotate by default",'avia_framework' ),
    						"id" 	=> "autoplay",
    						"type" 	=> "select",
    						"std" 	=> "no",
    						"subtype" => array(__('Yes','avia_framework' ) =>'yes',__('No','avia_framework' ) =>'no')),
    
    				array(
    					"name" 	=> __("Slideshow autorotation duration",'avia_framework' ),
    					"desc" 	=> __("Slideshow will rotate every X seconds",'avia_framework' ),
    					"id" 	=> "interval",
    					"type" 	=> "select",
    					"std" 	=> "5",
    					"required" 	=> array('autoplay','equals','yes'),
    					"subtype" =>
    					array('3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8','9'=>'9','10'=>'10','15'=>'15','20'=>'20','30'=>'30','40'=>'40','60'=>'60','100'=>'100')),
    					
    					
    				array(
    							"type" 	=> "close_div",
    							'nodescription' => true
    						),
    						
    						
    								array(
    									"type" 	=> "tab",
    									"name"	=> __("Screen Options",'avia_framework' ),
    									'nodescription' => true
    								),
    								
    								
    								array(
    								"name" 	=> __("Element Visibility",'avia_framework' ),
    								"desc" 	=> __("Set the visibility for this element, based on the device screensize.", 'avia_framework' ),
    								"type" 	=> "heading",
    								"description_class" => "av-builder-note av-neutral",
    								),
    							
    								array(	
    										"desc" 	=> __("Hide on large screens (wider than 990px - eg: Desktop)", 'avia_framework'),
    										"id" 	=> "av-desktop-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    								
    								array(	
    									
    										"desc" 	=> __("Hide on medium sized screens (between 768px and 989px - eg: Tablet Landscape)", 'avia_framework'),
    										"id" 	=> "av-medium-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    										
    								array(	
    									
    										"desc" 	=> __("Hide on small screens (between 480px and 767px - eg: Tablet Portrait)", 'avia_framework'),
    										"id" 	=> "av-small-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    										
    								array(	
    									
    										"desc" 	=> __("Hide on very small screens (smaller than 479px - eg: Smartphone Portrait)", 'avia_framework'),
    										"id" 	=> "av-mini-hide",
    										"std" 	=> "",
    										"container_class" => 'av-multi-checkbox',
    										"type" 	=> "checkbox"),
    	
    								
    							array(
    									"type" 	=> "close_div",
    									'nodescription' => true
    								),	
    								
    								
    						
    						
    					array(
    						"type" 	=> "close_div",
    						'nodescription' => true
    					),	
    					
    
    				);
    
    				if(current_theme_supports('add_avia_builder_post_type_option'))
                    {
                        $element = array(
                            "name" 	=> __("Select Post Type", 'avia_framework' ),
                            "desc" 	=> __("Select which post types should be used. Note that your taxonomy will be ignored if you do not select an assign post type.
                                          If yo don't select post type all registered post types will be used", 'avia_framework' ),
                            "id" 	=> "post_type",
                            "type" 	=> "select",
                            "multiple"	=> 6,
                            "std" 	=> "",
                            "subtype" => AviaHtmlHelper::get_registered_post_type_array()
                        );
    
                        array_splice($this->elements, 2, 0, array($element));
                    }
    		}
    
    		/**
    		 * Editor Element - this function defines the visual appearance of an element on the AviaBuilder Canvas
    		 * Most common usage is to define some markup in the $params['innerHtml'] which is then inserted into the drag and drop container
    		 * Less often used: $params['data'] to add data attributes, $params['class'] to modify the className
    		 *
    		 *
    		 * @param array $params this array holds the default values for $content and $args.
    		 * @return $params the return array usually holds an innerHtml key that holds item specific markup.
    		 */
    		function editor_element($params)
    		{
    			$params['innerHtml'] = "<img src='".$this->config['icon']."' title='".$this->config['name']."' />";
    			$params['innerHtml'].= "<div class='avia-element-label'>".$this->config['name']."</div>";
    			$params['content'] 	 = NULL; //remove to allow content elements
    			return $params;
    		}
    
    		/**
    		 * Frontend Shortcode Handler
    		 *
    		 * @param array $atts array of attributes
    		 * @param string $content text within enclosing form of shortcode element
    		 * @param string $shortcodename the shortcode found, when == callback name
    		 * @return string $output returns the modified html string
    		 */
    		function shortcode_handler($atts, $content = "", $shortcodename = "", $meta = "")
    		{	
    			$screen_sizes = AviaHelper::av_mobile_sizes($atts);
    			
    			if(isset($atts['link']))
    			{
    				$atts['link'] = explode(',', $atts['link'], 2 );
    				$atts['taxonomy'] = $atts['link'][0];
    
    				if(isset($atts['link'][1]))
    				{
    					$atts['categories'] = $atts['link'][1];
    				}
    			}
    
    			$atts['class'] = $meta['el_class'];
    			$atts = array_merge($atts, $screen_sizes);
    			
    			$slider = new avia_post_slider($atts);
    			$slider->query_entries();
    			return $slider->html();
    		}
    
    	}
    }
    
    if ( !class_exists( 'avia_post_slider' ) )
    {
    	class avia_post_slider
    	{	
    		static  $slide = 0;
    		protected $atts;
    		protected $entries;
    
    		function __construct($atts = array())
    		{
    			$this->atts = shortcode_atts(array(	'type'		=> 'slider', // can also be used as grid
    												'style'		=> '', //no_margin
    										 		'columns' 	=> '4',
    		                                 		'items' 	=> '16',
    		                                 		'taxonomy'  => 'category',
    												'wc_prod_visible'	=>	'',
    												'prod_order_by'		=>	'',
    												'prod_order'		=>	'',
    		                                 		'post_type'=> get_post_types(),
    		                                 		'contents' 	=> 'excerpt',
    		                                 		'preview_mode' => 'auto',
    												'image_size' => 'portfolio',
    		                                 		'autoplay'  => 'no',
    												'animation' => 'fade',
    												'paginate'	=> 'no',
                                                    'use_main_query_pagination' => 'no',
    												'interval'  => 5,
    												'class'		=> '',
    		                                 		'categories'=> array(),
    		                                 		'custom_query'=> array(),
                                                    'offset' => 0,
                                                    'custom_markup' => '',
                                                    'av_display_classes' => ''
    		                                 		), $atts, 'av_postslider');
    		                                 		
    		                    
    		}
    
    		public function html()
    		{
    			global $avia_config;
    
    			$output = "";
    
    			if(empty($this->entries) || empty($this->entries->posts)) return $output;
    
    			avia_post_slider::$slide ++;
    			extract($this->atts);
    
    			if($preview_mode == 'auto') $image_size = 'portfolio';
    			$extraClass 		= 'first';
    			$grid 				= 'one_third';
    			$post_loop_count 	= 1;
    			$loop_counter		= 1;
    			$autoplay 			= $autoplay == "no" ? false : true;
    			$total				= $columns % 2 ? "odd" : "even";
    			$blogstyle 			= function_exists('avia_get_option') ? avia_get_option('blog_global_style','') : "";
    			$excerpt_length 	= 60;
    			
    			
    			if($blogstyle !== "")
    			{
    				$excerpt_length = 240;
    			}
    			
    			switch($columns)
    			{
    				case "1": $grid = 'av_fullwidth';  if($preview_mode == 'auto') $image_size = 'large'; break;
    				case "2": $grid = 'av_one_half';   break;
    				case "3": $grid = 'av_one_third';  break;
    				case "4": $grid = 'av_one_fourth'; if($preview_mode == 'auto') $image_size = 'portfolio_small'; break;
    				case "5": $grid = 'av_one_fifth';  if($preview_mode == 'auto') $image_size = 'portfolio_small'; break;
    			}
    
    			$data = AviaHelper::create_data_string(array('autoplay'=>$autoplay, 'interval'=>$interval, 'animation' => $animation, 'show_slide_delay'=>90));
    
    			$thumb_fallback = "";
                $markup = avia_markup_helper(array('context' => 'blog','echo'=>false, 'custom_markup'=>$custom_markup));
    			$output .= "<div {$data} class='avia-content-slider avia-content-{$type}-active avia-content-slider".avia_post_slider::$slide." avia-content-slider-{$total} {$class} {$av_display_classes}' $markup>";
    			$output .= 		"<div class='avia-content-slider-inner'>";
    
    				foreach ($this->entries->posts as $entry)
    				{
    					$the_id 	= $entry->ID;
    					$parity		= $loop_counter % 2 ? 'odd' : 'even';
    					$last       = $this->entries->post_count == $post_loop_count ? " post-entry-last " : "";
    					$post_class = "post-entry post-entry-{$the_id} slide-entry-overview slide-loop-{$post_loop_count} slide-parity-{$parity} {$last}";
    					$link		= get_post_meta( $the_id ,'_portfolio_custom_link', true ) != "" ? get_post_meta( $the_id ,'_portfolio_custom_link_url', true ) : get_permalink( $the_id );
    					$excerpt	= "";
    					$title  	= '';
    					$show_meta  = !is_post_type_hierarchical($entry->post_type);
    					$commentCount = get_comments_number($the_id);
    					$thumbnail  = get_the_post_thumbnail( $the_id, $image_size );
    					$format 	= get_post_format( $the_id );
    					if(empty($format)) $format = "standard";
    
    					if($thumbnail)
    					{
    						$thumb_fallback = $thumbnail;
    						$thumb_class	= "real-thumbnail";
    					}
    					else
    					{
    						$thumbnail = "<span class=' fallback-post-type-icon' ".av_icon_string($format)."></span><span class='slider-fallback-image'>{{thumbnail}}</span>";
    						$thumb_class	= "fake-thumbnail";
    					}
    
    					$permalink = '<div class="read-more-link"><a href="'.get_permalink($the_id).'" class="more-link">'.__('Read more','avia_framework').'<span class="more-link-arrow"></span></a></div>';
    					$prepare_excerpt = !empty($entry->post_excerpt) ? $entry->post_excerpt : avia_backend_truncate($entry->post_content, apply_filters( 'avf_postgrid_excerpt_length' , $excerpt_length) , apply_filters( 'avf_postgrid_excerpt_delimiter' , " "), "…", true, '');
    
    		                  	if($format == 'link')
    		                   	{
    			                        $current_post = array();
    			                        $current_post['content'] = $entry->post_content;
    			                        $current_post['title'] =  $entry->post_title;
    			                        
    			                        if(function_exists('avia_link_content_filter'))
    			                        {
    			                            $current_post = avia_link_content_filter($current_post);
    			                        }
    			
    			                        $link = $current_post['url'];
    		                    	}
    		                    
                        
    					switch($contents)
    					{
    						case "excerpt":
    								$excerpt = $prepare_excerpt;
    								$title = $entry->post_title;
    								break;
    						case "excerpt_read_more":
    								$excerpt = $prepare_excerpt;
    								$excerpt .= $permalink;
    								$title = $entry->post_title;
    								break;
    						case "title":
    								$excerpt = '';
    								$title = $entry->post_title;
    								break;
    						case "title_read_more":
    								$excerpt = $permalink;
    								$title = $entry->post_title;
    								break;
    						case "only_excerpt":
    								$excerpt = $prepare_excerpt;
    								$title = '';
    								break;
    						case "only_excerpt_read_more":
    								$excerpt = $prepare_excerpt;
    								$excerpt .= $permalink;
    								$title = '';
    								break;
    						case "no":
    								$excerpt = '';
    								$title = '';
    								break;
    					}
    					
    					$title = apply_filters( 'avf_postslider_title', $title, $entry );
    					
    					if($loop_counter == 1) $output .= "<div class='slide-entry-wrap'>";
    					
    					$post_format = get_post_format($the_id) ? get_post_format($the_id) : 'standard';
    					
                        $markup = avia_markup_helper(array('context' => 'entry','echo'=>false, 'id'=>$the_id, 'custom_markup'=>$custom_markup));
    					$output .= "<article class='slide-entry flex_column {$style} {$post_class} {$grid} {$extraClass} {$thumb_class}' $markup>";
    
    $output .= "<div class='slide-content'>";
    
                        $markup = avia_markup_helper(array('context' => 'entry_title','echo'=>false, 'id'=>$the_id, 'custom_markup'=>$custom_markup));
                        $output .= '<header class="entry-content-header">';
                        $meta_out = "";
                        
                        if (!empty($title))
                        {
    	                    if($show_meta)
    	                    {
    		                    $taxonomies  = get_object_taxonomies(get_post_type($the_id));
    			                $cats = '';
    			                $excluded_taxonomies = array_merge( get_taxonomies( array( 'public' => false ) ), array('post_tag','post_format') );
    							$excluded_taxonomies = apply_filters('avf_exclude_taxonomies', $excluded_taxonomies, get_post_type($the_id), $the_id);
    			
    			                if(!empty($taxonomies))
    			                {
    			                    foreach($taxonomies as $taxonomy)
    			                    {
    			                        if(!in_array($taxonomy, $excluded_taxonomies))
    			                        {
    			                            $cats .= get_the_term_list($the_id, $taxonomy, '', ', ','').' ';
    			                        }
    			                    }
    			                }
    			                
    			                if(!empty($cats))
    		                    {
    		                        $meta_out .= '<span class="blog-categories minor-meta">';
    		                        $meta_out .= $cats;
    		                        $meta_out .= '</span>';
    		                    }
    	                    }
    						
    						/**
    						 * Allow to change default output of categories - by default supressed for setting Default(Business) blog style
    						 * 
    						 * @since 4.0.6
    						 * @param string $blogstyle						'' | 'elegant-blog' | 'elegant-blog modern-blog'
    						 * @param avia_post_slider $this
    						 * @return string								'show_elegant' | 'show_business' | 'use_theme_default' | 'no_show_cats' 
    						 */
    						$show_cats = apply_filters( 'avf_postslider_show_catergories', 'use_theme_default', $blogstyle, $this );
    	                    
    						switch( $show_cats )
    						{
    							case 'no_show_cats':
    								$new_blogstyle = '';
    								break;
    							case 'show_elegant':
    								$new_blogstyle = 'elegant-blog';
    								break;
    							case 'show_business':
    								$new_blogstyle = 'elegant-blog modern-blog';
    								break;
    							case 'use_theme_default':
    							default:
    								$new_blogstyle = $blogstyle;
    								break;
    						}
    						
    							//	elegant style
    	                    if( ( strpos( $new_blogstyle, 'modern-blog' ) === false ) && ( $new_blogstyle != "" ) )
    						{
    							$output .= $meta_out;
    						}
    						
                        	$output .=  "<h3 class='slide-entry-title entry-title' $markup><a href='{$link}' title='".esc_attr(strip_tags($title))."'>".$title."</a></h3>";
                        	
    							//	modern business style
                        	if( ( strpos( $new_blogstyle, 'modern-blog' ) !== false ) && ( $new_blogstyle != "" ) ) 
    						{
    							$output .= $meta_out;
    						}
    						
                        	
                        }
                        
                        $output .= '</header>';
    
                      
                        $output .= "</div>";
    
    					$output .= $thumbnail ? "<a href='{$link}' data-rel='slide-".avia_post_slider::$slide."' class='slide-image' title=''>{$thumbnail}</a>" : "";
    					
    					if($post_format == "audio")
    					{	
    						$current_post = array();
    			            $current_post['content'] = $entry->post_content;
    			            $current_post['title'] =  $entry->post_title;
    						
    						$current_post = apply_filters( 'post-format-'.$post_format, $current_post );
    						
    						if(!empty( $current_post['before_content'] )) $output .= '<div class="big-preview single-big audio-preview">'.$current_post['before_content'].'</div>';
    					}
    					
    					$output .= "<div class='slide-content'>";
    
                        
                        $output .= '</header><br/>';
    
                        if($show_meta && !empty($excerpt))
    					{
    						$meta  = "<div class='slide-meta'>";
    						if ( $commentCount != "0" || comments_open($the_id) && $entry->post_type != 'portfolio')
    						{
    							$link_add = $commentCount === "0" ? "#respond" : "#comments";
    							$text_add = $commentCount === "1" ? __('Comment', 'avia_framework' ) : __('Comments', 'avia_framework' );
    
    							$meta .= "<div class='slide-meta-comments'><a href='{$link}{$link_add}'>{$commentCount} {$text_add}</a></div><div class='slide-meta-del'>/</div>";
    						}
                            $markup = avia_markup_helper(array('context' => 'entry_time','echo'=>false, 'id'=>$the_id, 'custom_markup'=>$custom_markup));
    						$meta .= "<time class='slide-meta-time updated' $markup>" .get_the_time(get_option('date_format'), $the_id)."</time>";
    						$meta .= "</div>";
    						
    						if( strpos($blogstyle, 'elegant-blog') === false )
    						{
    							$output .= $meta;
    							$meta = "";
    						}
    					}
                        $markup = avia_markup_helper(array('context' => 'entry_content','echo'=>false, 'id'=>$the_id, 'custom_markup'=>$custom_markup));
    					$excerpt = apply_filters( 'avf_post_slider_entry_excerpt', $excerpt, $prepare_excerpt, $permalink, $entry );
    					$output .= !empty($excerpt) ? "<div class='slide-entry-excerpt entry-content' $markup>".$excerpt."</div>" : "";
    
                        $output .= "</div>";
    $output .= '<br/><span class="av-vertical-delimiter"></span>';
    
                        $output .= '<footer class="entry-footer">';
                        if( !empty($meta) ) $output .= $meta;
                        $output .= '</footer>';
                        
                        $output .= av_blog_entry_markup_helper( $the_id );
                        
    					$output .= "</article>";
    
    					$loop_counter ++;
    					$post_loop_count ++;
    					$extraClass = "";
    
    					if($loop_counter > $columns)
    					{
    						$loop_counter = 1;
    						$extraClass = 'first';
    					}
    
    					if($loop_counter == 1 || !empty($last))
    					{
    						$output .="</div>";
    					}
    				}
    
    			$output .= 		"</div>";
    
    			if($post_loop_count -1 > $columns && $type == 'slider')
    			{
    				$output .= $this->slide_navigation_arrows();
    			}
    			
    			global $wp_query;
                if($use_main_query_pagination == 'yes' && $paginate == "yes")
                {
                    $avia_pagination = avia_pagination($wp_query->max_num_pages, 'nav');
                }
                else if($paginate == "yes")
                {
                    $avia_pagination = avia_pagination($this->entries, 'nav');
                }
    
                if(!empty($avia_pagination)) $output .= "<div class='pagination-wrap pagination-slider'>{$avia_pagination}</div>";
    
                $output .= "</div>";
    
    			$output = str_replace('{{thumbnail}}', $thumb_fallback, $output);
    
    			wp_reset_query();
    			return $output;
    		}
    
    		protected function slide_navigation_arrows()
    		{
    			$html  = "";
    			$html .= "<div class='avia-slideshow-arrows avia-slideshow-controls'>";
    			$html .= 	"<a href='#prev' class='prev-slide' ".av_icon_string('prev_big').">".__('Previous','avia_framework' )."</a>";
    			$html .= 	"<a href='#next' class='next-slide' ".av_icon_string('next_big').">".__('Next','avia_framework' )."</a>";
    			$html .= "</div>";
    
    			return $html;
    		}
    
    		//fetch new entries
    		public function query_entries($params = array())
    		{	
    			global $avia_config;
    
    			if(empty($params)) $params = $this->atts;
    
    			if(empty($params['custom_query']))
                {
    				$query = array();
    
    				if(!empty($params['categories']))
    				{
    					//get the portfolio categories
    					$terms 	= explode(',', $params['categories']);
    				}
    
    				$page = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' );
    				if(!$page || $params['paginate'] == 'no') $page = 1;
    
    				//if we find no terms for the taxonomy fetch all taxonomy terms
    				if(empty($terms[0]) || is_null($terms[0]) || $terms[0] === "null")
    				{
    					$terms = array();
    					$allTax = get_terms( $params['taxonomy']);
    					foreach($allTax as $tax)
    					{
    						$terms[] = $tax->term_id;
    					}
    
    				}
    
    				if($params['offset'] == 'no_duplicates')
                    {
                        $params['offset'] = false;
                        $no_duplicates = true;
                    }
                    
                    
    				//wordpress 4.4 offset fix
    				if( $params['offset'] == 0 )
    				{
    					$params['offset'] = false;
    				}
    				else
    				{	
    					//if the offset is set the paged param is ignored. therefore we need to factor in the page number
    					$params['offset'] = $params['offset'] + ( ($page -1 ) * $params['items']);
    				}
    				
    				
                    if(empty($params['post_type'])) $params['post_type'] = get_post_types();
                    if(is_string($params['post_type'])) $params['post_type'] = explode(',', $params['post_type']);
    
    				$orderby = 'date';
    				$order = 'DESC';
    				
    				// Meta query - replaced by Tax query in WC 3.0.0
    				$meta_query = array();
    				$tax_query = array();
    
    				// check if taxonomy are set to product or product attributes
    				$tax = get_taxonomy( $params['taxonomy'] );
    				
    				if( class_exists( 'WooCommerce' ) && is_object( $tax ) && isset( $tax->object_type ) && in_array( 'product', (array) $tax->object_type ) )
    				{
    					$avia_config['woocommerce']['disable_sorting_options'] = true;
    					
    					avia_wc_set_out_of_stock_query_params( $meta_query, $tax_query, $params['wc_prod_visible'] );
    					
    						//	sets filter hooks !!
    					$ordering_args = avia_wc_get_product_query_order_args( $params['prod_order_by'], $params['prod_order'] );
    							
    					$orderby = $ordering_args['orderby'];
    					$order = $ordering_args['order'];
    				}
    
    				if( ! empty( $terms ) )
    				{
    					$tax_query[] =  array(
    										'taxonomy' 	=>	$params['taxonomy'],
    										'field' 	=>	'id',
    										'terms' 	=>	$terms,
    										'operator' 	=>	'IN'
    								);
    				}				
    				
    				$query = array(	'orderby'		=>	$orderby,
    								'order'			=>	$order,
    								'paged'			=>	$page,
    								'post_type'		=>	$params['post_type'],
    //								'post_status'	=>	'publish',
    								'offset'		=>	$params['offset'],
    								'posts_per_page' =>	$params['items'],
    								'post__not_in'	=>	( ! empty( $no_duplicates ) ) ? $avia_config['posts_on_current_page'] : array(),
    								'meta_query'	=>	$meta_query,
    								'tax_query'		=>	$tax_query
    							);
    																
    			}
    			else
    			{
    				$query = $params['custom_query'];
    			}
    
    			$query = apply_filters('avia_post_slide_query', $query, $params);
    
    			@$this->entries = new WP_Query( $query ); //@ is used to prevent errors caused by wpml
    
    		    // store the queried post ids in
                if( $this->entries->have_posts() )
                {
                    while( $this->entries->have_posts() )
                    {
                        $this->entries->the_post();
                        $avia_config['posts_on_current_page'][] = get_the_ID();
                    }
                }
    			
    			if( function_exists( 'WC' ) )
    			{
    				avia_wc_clear_catalog_ordering_args_filters();
    				$avia_config['woocommerce']['disable_sorting_options'] = false;
    			}
    		}
    	}
    }
    

    Hey Roger,

    The gallery element does not display the copyright information by default. However you could i.e. add the copyright information to the caption/popup tooltip by replacing line 320 in enfold\config-templatebuilder\avia-shortcodes\gallery\gallery.php

    
    $caption = trim($attachment->post_excerpt) ? wptexturize($attachment->post_excerpt) : "";
    
    

    with

    
    $caption = trim($attachment->post_excerpt) ? wptexturize($attachment->post_excerpt) : "";
    
    $copyright_text = get_post_meta($attachment_id, '_avia_attachment_copyright', true );
    
    if($copyright_text) $caption .= ' ' . $copyright_text;
    

    Best regards,
    Dude

    #995459
    steviger
    Participant

    Hi guys,

    I hope you can help me out. I’m using the Enfold Social Share Buttons but I can’t seem to get the desired style. What I’m after is as shown here On the left side halfway the screen. I did some fiddling with CSS like:

    /*----------------------------------------
    // CSS - Social Share style 
    //--------------------------------------*/
    #top .av-share-box ul {border-radius: 0px;}
    
    .av-share-box h5{color:#ffffff;}
    
    li.av-share-link a:before {
       font-size: 26px !important;
    }
    /* Hide tool tip */
    .av-social-sharing-box .avia-related-tooltip {
      display: none !important;
    }
    /* Link hover */
    #top .av-social-sharing-box .av-share-link a:hover { background-color:transparent!important;}
    
    /* Icon Color */
    .av-social-sharing-box .av-share-link a:before {color:#fff;}
    
    /* Icon Color on hover */
    .av-social-sharing-box .av-share-link:hover a:before {color:#fff;}

    This is the result so far. So basicly we need some margins between the three icons. But I don’t no where.Offcourse I can change the color btw ;)

    Help is much appreciated!

    Cheers,

    Steven

    #995358

    Hi,

    Thanks for the info.

    The following css code should change the color of the blog elements. I did see your thread but I’m not sure what’s going on there because you’ve just implemented the color changes, so I skipped it. What did you change to fix the layer slider? It might not be a good idea to alter the theme’s color scheme just so you can fix a single element because the changes in the General Styling panel will affect the whole site.

    .blog .main_color, .blog .main_color .site-background, .blog .main_color .first-quote, .blog .main_color .related_image_wrap, .blog .main_color .gravatar img .blog .main_color .hr_content, .blog .main_color .news-thumb, .blog .main_color .post-format-icon, .blog .main_color .ajax_controlls a, .blog .main_color .tweet-text.avatar_no, .blog .main_color .toggler, .blog .main_color .toggler.activeTitle:hover, .blog .main_color #js_sort_items, .blog .main_color.inner-entry, .blog .main_color .grid-entry-title, .blog .main_color .related-format-icon, .grid-entry .blog .main_color .avia-arrow, .blog .main_color .avia-gallery-big, .blog .main_color .avia-gallery-big, .blog .main_color .avia-gallery img, .blog .main_color .grid-content, .blog .main_color .av-share-box ul, #top .blog .main_color .av-related-style-full .related-format-icon, .blog .main_color .related_posts.av-related-style-full a:hover, .blog .main_color.avia-fullwidth-portfolio .pagination .current, .blog .main_color.avia-fullwidth-portfolio .pagination a, .blog .main_color .av-hotspot-fallback-tooltip-inner, .blog .main_color .av-hotspot-fallback-tooltip-count {
        background-color: #ffffff;
        color: #000000;
    }
    
    .blog .main_color .heading-color, .blog .main_color a.iconbox_icon:hover, .blog .main_color h1, .blog .main_color h2, .blog .main_color h3, .blog .main_color h4, .blog .main_color h5, .blog .main_color h6, .blog .main_color .sidebar .current_page_item>a, .blog .main_color .sidebar .current-menu-item>a, .blog .main_color .pagination .current, .blog .main_color .pagination a:hover, .blog .main_color strong.avia-testimonial-name, .blog .main_color .heading, .blog .main_color .toggle_content strong, .blog .main_color .toggle_content strong a, .blog .main_color .tab_content strong, .blog .main_color .tab_content strong a, .blog .main_color .asc_count, .blog .main_color .avia-testimonial-content strong, .blog .main_color div .news-headline, #top .blog .main_color .av-related-style-full .av-related-title, .blog .main_color .av-default-style .av-countdown-cell-inner .av-countdown-time, .blog .main_color .wp-playlist-item-meta.wp-playlist-item-title, #top .blog .main_color .av-no-image-slider h2 a, .blog .main_color .av-small-bar .avia-progress-bar .progressbar-title-wrap {
        color: #000000;
    }
    

    Best regards,
    Ismael

    #993677

    Hi,
    [slap-forehead] don’t know why I didn’t think of that :)
    anyways I changed the css a little, please try this code:

      <style type="text/css">
    .socialbody {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
        align-content: center;
    	padding:0 0 20px 0;
        height: 100px;
        font: 16px Roboto, sans-serif;
    }
    
    a {
        text-decoration: none;
    }
    
    .socialBB-icon {
        width:  36px;
        height: 36px;
        fill: currentColor;
        transition: .2s;
    }
    
    a.socialBB-link--instagram:hover { color: #e67300 }
    a.socialBB-link--500px:hover  { color: #6699ff }
    a.socialBB-link--instagram:hover::after { background: #e67300 }
    a.socialBB-link--500px:hover::after  { background: #6699ff }
    
    .socialBB-link {
        position: relative;
        color: #bbb;
    }
    
    .socialBB-link:not(:last-of-type) {
        margin-right: 15px;
    }
    
    .socialBB-tooltip::before,
    .socialBB-tooltip::after {
        display: block;
        position: absolute;
        left: 50%;
        transform: translate(-50%, -10px);
        opacity: 0;
        transition: .2s;
    }
    
    .socialBB-tooltip::before {
        content: '';
        bottom: calc(100% + 2px);
        border: solid 5px transparent;
        border-top-color: currentColor;
    }
    
    .socialBB-tooltip::after {
        content: attr(aria-label);
        bottom: calc(100% + 12px);
        padding: .61em .93em;
        font-size: .875rem;
        color: white;
        border-radius: 3px;
    }
    
    .socialBB-tooltip:hover::before,
    .socialBB-tooltip:hover::after {
        opacity: 1;
        transform: translate(-50%);
    }
    
        </style>
    <div class="socialbody">
    	
    		<svg class="socialBB-icon"><use xlink:href="#icon--instagram"></use></svg>
    	
    
    	
    		<svg class="socialBB-icon"><use xlink:href="#icon--500px"></use></svg>
    	
    
    	<svg style="display: none">
    		<symbol id="icon--instagram" viewbox="0 0 24 24">
    			<path d="M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z" />
    		</symbol>
    		<symbol id="icon--500px" viewbox="0 0 97.8 97.8">
    			<path d="M72.3,47.9c-1.6,0.2-2.9,1-4.1,1.9c-1.4,1.1-2.5,2.3-3.7,3.6c-0.2,0.2-0.1,0.3,0,0.4c0.8,0.9,1.7,1.8,2.7,2.6c1.6,1.3,3.4,2.3,5.5,2.5c2.4,0.2,4.4-0.9,5.2-3.1c0.3-0.8,0.4-1.5,0.4-2.5c0-0.2,0-0.6-0.1-0.9C77.9,49.5,75.4,47.5,72.3,47.9z"/><path d="M52.2,49.8c-1-0.7-2.1-1.4-3.4-1.7c-1.9-0.5-3.6-0.2-5,1.3c-1,1.2-1.5,2.6-1.5,4.3c0,0.2,0,0.4,0,0.7c0.2,2.3,1.8,4.1,4,4.5c1.2,0.2,2.5,0.1,3.6-0.4c2.5-1,4.4-2.7,6.2-4.7c0.1-0.1,0.1-0.2,0-0.3C55,52.1,53.7,50.8,52.2,49.8z"/><path d="M48.9,0C21.9,0,0,21.9,0,48.9s21.9,48.9,48.9,48.9s48.9-21.9,48.9-48.9S75.9,0,48.9,0z M73,65.7c-3.1,0-5.7-1.2-8.1-3.1c-1.6-1.2-2.9-2.6-4.2-4.1c-0.2-0.2-0.3-0.3-0.6,0c-1.3,1.4-2.6,2.8-4.1,4c-1.9,1.5-4,2.7-6.4,3c-4.3,0.6-8-0.5-10.9-3.9c-0.7-0.8-1.1-1.6-1.6-2.6c-0.1-0.1-0.1-0.3-0.2-0.4c-0.6,1.2-1.3,2.3-2.2,3.3c-2.3,2.5-5.2,3.7-8.5,3.9c-2.4,0.1-4.8-0.2-7-1.3c-3.7-1.8-5.8-4.7-6-8.9c0-0.3,0.1-0.4,0.4-0.4c2,0,4,0,6,0c0.3,0,0.4,0.1,0.4,0.4c0.4,2.3,1.6,3.9,3.9,4.5c3.2,0.8,6.2-1,7-4.3c0.6-2.2,0.3-4.4-1.2-6.2c-1-1.2-2.3-1.8-3.9-1.9c-2.2-0.2-4.1,0.6-5.4,2.5c-0.1,0.2-0.3,0.2-0.5,0.2c-1.8,0-3.6,0-5.4,0c-0.3,0-0.4-0.1-0.3-0.4c0.9-5.2,1.9-10.4,2.8-15.6c0.1-0.7,0.3-1.4,0.4-2.1c0-0.2,0.1-0.3,0.4-0.3c6,0,12,0,18,0c0.3,0,0.3,0.1,0.3,0.4c0,1.6,0,3.2,0,4.8c0,0.3-0.1,0.4-0.4,0.4c-4.3,0-8.6,0-12.9,0c-0.4,0-0.5,0.1-0.6,0.5c-0.4,2.3-0.8,4.6-1.2,6.8c0,0.1-0.1,0.2,0,0.3c0.1,0.1,0.2-0.1,0.3-0.1c2-1.9,4.4-2.5,7-2.3c2.5,0.1,4.7,1.1,6.5,2.9c0.7,0.8,1.3,1.6,1.8,2.6c0.1,0.1,0.1,0.2,0.2,0.4c0.5-1.3,1.1-2.5,2-3.5c1.9-2.2,4.4-3.4,7.3-3.7c4.1-0.4,7.5,1.2,10.5,3.9c1.2,1.1,2.3,2.4,3.4,3.6c0.2,0.3,0.3,0.3,0.6,0c1.4-1.6,2.7-3.3,4.4-4.6c2-1.5,4.1-2.6,6.6-2.9c6.2-0.7,11.3,2.6,12.6,9c0.6,2.7,0.4,5.3-0.5,7.9C82,63,78.1,65.7,73,65.7z" />
    		</symbol>
    	</svg>
    </div>

    Best regards,
    Mike

    #993342
    darioferbor
    Participant

    Hi,

    i’m trying to add some HTML/CSS animated social icons in the socket.
    The problem is, when i add hem, they don’t work as expected (hover colors doesn’t work).

    I’m using the plug-in HTML snippets for generating a schortcode to put in the socked (enfold settings).
    I’ve also tried to use the code in a code block (new page), but it works exactly the same.

    This is the code i’m using:

    <html>
        <style type="text/css">
    .socialbody {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
        align-content: center;
    	padding:0 0 20px 0;
        height: 100px;
        font: 16px Roboto, sans-serif;
        background: #f9f9f9;
    }
    
    a {
        text-decoration: none;
        color: inherit;
    }
    
    .socialBB-icon {
        width:  36px;
        height: 36px;
        fill: currentColor;
        transition: .2s;
    }
    
    .socialBB-link--instagram:hover { color: #e67300 }
    .socialBB-link--500px:hover  { color: #6699ff }
    .socialBB-link--instagram:hover::after { background: #e67300 }
    .socialBB-link--500px:hover::after  { background: #6699ff }
    
    .socialBB-link {
        position: relative;
        color: #bbb;
    }
    
    .socialBB-link:not(:last-of-type) {
        margin-right: 15px;
    }
    
    .socialBB-tooltip::before,
    .socialBB-tooltip::after {
        display: block;
        position: absolute;
        left: 50%;
        transform: translate(-50%, -10px);
        opacity: 0;
        transition: .2s;
    }
    
    .socialBB-tooltip::before {
        content: '';
        bottom: calc(100% + 2px);
        border: solid 5px transparent;
        border-top-color: currentColor;
    }
    
    .socialBB-tooltip::after {
        content: attr(aria-label);
        bottom: calc(100% + 12px);
        padding: .61em .93em;
        font-size: .875rem;
        color: white;
        border-radius: 3px;
    }
    
    .socialBB-tooltip:hover::before,
    .socialBB-tooltip:hover::after {
        opacity: 1;
        transform: translate(-50%);
    }
    
        </style>
    <div class="socialbody">
    	<a href="https://www.instagram.com/dario.borla/" target="_blank" class="socialBB-link socialBB-link--instagram socialBB-tooltip" aria-label="Instagram">
    		<svg class="socialBB-icon"><use xlink:href="#icon--instagram"></use></svg>
    	</a>
    
    	<a href="https://500px.com/darborla" target="_blank" class="socialBB-link socialBB-link--500px socialBB-tooltip" aria-label="500px">
    		<svg class="socialBB-icon"><use xlink:href="#icon--500px"></use></svg>
    	</a>
    
    	<svg style="display: none">
    		<symbol id="icon--instagram" viewbox="0 0 24 24">
    			<path d="M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z" />
    		</symbol>
    		<symbol id="icon--500px" viewbox="0 0 97.8 97.8">
    			<path d="M72.3,47.9c-1.6,0.2-2.9,1-4.1,1.9c-1.4,1.1-2.5,2.3-3.7,3.6c-0.2,0.2-0.1,0.3,0,0.4c0.8,0.9,1.7,1.8,2.7,2.6c1.6,1.3,3.4,2.3,5.5,2.5c2.4,0.2,4.4-0.9,5.2-3.1c0.3-0.8,0.4-1.5,0.4-2.5c0-0.2,0-0.6-0.1-0.9C77.9,49.5,75.4,47.5,72.3,47.9z"/><path d="M52.2,49.8c-1-0.7-2.1-1.4-3.4-1.7c-1.9-0.5-3.6-0.2-5,1.3c-1,1.2-1.5,2.6-1.5,4.3c0,0.2,0,0.4,0,0.7c0.2,2.3,1.8,4.1,4,4.5c1.2,0.2,2.5,0.1,3.6-0.4c2.5-1,4.4-2.7,6.2-4.7c0.1-0.1,0.1-0.2,0-0.3C55,52.1,53.7,50.8,52.2,49.8z"/><path d="M48.9,0C21.9,0,0,21.9,0,48.9s21.9,48.9,48.9,48.9s48.9-21.9,48.9-48.9S75.9,0,48.9,0z M73,65.7c-3.1,0-5.7-1.2-8.1-3.1c-1.6-1.2-2.9-2.6-4.2-4.1c-0.2-0.2-0.3-0.3-0.6,0c-1.3,1.4-2.6,2.8-4.1,4c-1.9,1.5-4,2.7-6.4,3c-4.3,0.6-8-0.5-10.9-3.9c-0.7-0.8-1.1-1.6-1.6-2.6c-0.1-0.1-0.1-0.3-0.2-0.4c-0.6,1.2-1.3,2.3-2.2,3.3c-2.3,2.5-5.2,3.7-8.5,3.9c-2.4,0.1-4.8-0.2-7-1.3c-3.7-1.8-5.8-4.7-6-8.9c0-0.3,0.1-0.4,0.4-0.4c2,0,4,0,6,0c0.3,0,0.4,0.1,0.4,0.4c0.4,2.3,1.6,3.9,3.9,4.5c3.2,0.8,6.2-1,7-4.3c0.6-2.2,0.3-4.4-1.2-6.2c-1-1.2-2.3-1.8-3.9-1.9c-2.2-0.2-4.1,0.6-5.4,2.5c-0.1,0.2-0.3,0.2-0.5,0.2c-1.8,0-3.6,0-5.4,0c-0.3,0-0.4-0.1-0.3-0.4c0.9-5.2,1.9-10.4,2.8-15.6c0.1-0.7,0.3-1.4,0.4-2.1c0-0.2,0.1-0.3,0.4-0.3c6,0,12,0,18,0c0.3,0,0.3,0.1,0.3,0.4c0,1.6,0,3.2,0,4.8c0,0.3-0.1,0.4-0.4,0.4c-4.3,0-8.6,0-12.9,0c-0.4,0-0.5,0.1-0.6,0.5c-0.4,2.3-0.8,4.6-1.2,6.8c0,0.1-0.1,0.2,0,0.3c0.1,0.1,0.2-0.1,0.3-0.1c2-1.9,4.4-2.5,7-2.3c2.5,0.1,4.7,1.1,6.5,2.9c0.7,0.8,1.3,1.6,1.8,2.6c0.1,0.1,0.1,0.2,0.2,0.4c0.5-1.3,1.1-2.5,2-3.5c1.9-2.2,4.4-3.4,7.3-3.7c4.1-0.4,7.5,1.2,10.5,3.9c1.2,1.1,2.3,2.4,3.4,3.6c0.2,0.3,0.3,0.3,0.6,0c1.4-1.6,2.7-3.3,4.4-4.6c2-1.5,4.1-2.6,6.6-2.9c6.2-0.7,11.3,2.6,12.6,9c0.6,2.7,0.4,5.3-0.5,7.9C82,63,78.1,65.7,73,65.7z" />
    		</symbol>
    	</svg>
    </div>
    </html>

    Saved to an html file works great.

    Thanks for the support.

    #992764

    In reply to: Google maps is blank

    Hi,

    I’m not familiar with the plugin (we didn’t test it with Enfold and we can’t support it) but probably it uses the standard google maps api: https://developers.google.com/maps/documentation/javascript/tutorial like Enfold to embed Google maps. It seems like the plugin removes the Enfold maps code (i.e. the code I asked you to add to your functions.php is missing but there’s even more is missing, i.e. the coordinates of the maps marker, etc.) and thus the maps won’t work.

    On the demo page here: https://kriesi.at/themes/enfold-2017/pages/contact/ for example the coordinates and map styling code looks like:

    
    <script type='text/javascript' class='av-php-sent-to-frontend'>/* <![CDATA[ */ 
    var av_google_map = {};
    av_google_map['av_gmap_0'] = {};
    av_google_map['av_gmap_0']['marker'] = {};
    av_google_map['av_gmap_0']['marker']['0'] = {};
    av_google_map['av_gmap_0']['marker']['0']['address'] = "Main Street, California";
    av_google_map['av_gmap_0']['marker']['0']['city'] = "";
    av_google_map['av_gmap_0']['marker']['0']['country'] = "";
    av_google_map['av_gmap_0']['marker']['0']['long'] = -79.88742450000001;
    av_google_map['av_gmap_0']['marker']['0']['lat'] = 40.0577507;
    av_google_map['av_gmap_0']['marker']['0']['marker'] = 2078;
    av_google_map['av_gmap_0']['marker']['0']['imagesize'] = 80;
    av_google_map['av_gmap_0']['marker']['0']['tooltip_display'] = "";
    av_google_map['av_gmap_0']['marker']['0']['av_uid'] = "av-3e0e9c";
    av_google_map['av_gmap_0']['marker']['0']['icon'] = "https:\/\/kriesi.at\/themes\/enfold-2017\/wp-content\/uploads\/sites\/66\/2017\/02\/marker3.png";
    av_google_map['av_gmap_0']['hue'] = "#35383c";
    av_google_map['av_gmap_0']['zoom'] = 16;
    av_google_map['av_gmap_0']['saturation'] = "fill";
    av_google_map['av_gmap_0']['zoom_control'] = 1;
    av_google_map['av_gmap_0']['streetview_control'] = false;
    av_google_map['av_gmap_0']['pan_control'] = false;
    av_google_map['av_gmap_0']['mobile_drag_control'] = 1;
    av_google_map['av_gmap_0']['maptype_control'] = "";
    av_google_map['av_gmap_0']['maptype_id'] = "";
    
     /* ]]> */</script>
    

    and this code is completely missing on your website. Unfortunately you can’t simply fix this by adding this code to the child theme functions.php file because it’s generated dynamically for each map element based on your map settings (styling of the map, coordinates, marker image, etc.).

    Best regards,
    Dude

    #992262

    Hey Ivana,

    Please try the following in Quick CSS under Enfold->General Styling:

    .avia-search-tooltip input {
        color: white !important;
    }

    Best regards,
    Rikard

    #991896

    the most easiest way would be to register a new social media button for example with a lock and have the rounded buttons as if it was a social media link – on hovering you can see the tooltip : registering.
    i do this often for links like intranet link or login links.
    this could be handeled than like on my link above – because than it is part of social-media list.

    See here Result ( i do not change to see only burger-menu – so have a look at smaller screensizes )
    https://webers-testseite.de/cynthia/

    if you like to insert for example a whole avia button shortcode – that is possible too.

    add_action('ava_inside_main_menu', function() {
      echo '<li class="registerbutton">';
      echo do_shortcode("[av_button label='Register now' link='manually,#' link_target='' size='large' position='left' label_display='' icon_select='yes-right-icon' icon_hover='aviaTBicon_hover' icon='ue875' font='entypo-fontello' color='custom' custom_bg='#42ab96' custom_font='#ffffff' av_uid='av-b9l' custom_class='' admin_preview_bg='']");
      echo '</li>';
    });
    
    function change_menu_position() { 
    ?>
    <script>
    (function($){
    	$('.main_menu ul.social_bookmarks').insertBefore($('.main_menu div.avia-menu'));
    	$('li.registerbutton').appendTo('.main_menu > .social_bookmarks');
    })(jQuery);
    </script>
    <?php
    }
    add_action('wp_footer', 'change_menu_position');

    the code can be obtained by activation of the debug mode on enfold for above rules
    echo do_shortcode(" into this comes the full shortcode of your avia button ");

    this comes to quick css:

    /*** this is for the new button not to have same behavior as social_bookmarks buttons ***/
    .registerbutton { width: auto !important }
    .registerbutton .avia_button_icon { display: inline-table }
    .social_bookmarks li.registerbutton a { border-radius: 0 !important; padding: 0 10px !important; width: auto !important; background: #42ab96; color: #fff }
    
    /*** rules for the left-hand social_bookmarks buttons ***/
    #top nav .social_bookmarks { margin-top: -20px !important; overflow: visible !important; height: 40px !important }
    .avia-menu.av_menu_icon_beside { padding-right: 0; margin-right: 0; border-right-width: 0; border-right-style: none }
    .social_bookmarks li a { height: 40px !important; line-height: 40px !important; width: 40px !important }
    #top .social_bookmarks li { width: 40px; height: auto !important }
    #top .av-logo-container .social_bookmarks li a {  border-radius: 50% }
    .av_header_transparency .social_bookmarks li a { color: #969696 !important;}
    #991282

    Hi Victoria,

    thank you for your fast reply. Unfortunately this is changing nothing. As I wrote I just want to remove the “Link to:” and not the complete title tooltip.

    Hope you can help. Thank you.

    Best regards,
    Sophie

    #991176
    Sophie
    Participant

    Hi,

    I just recognized when hovering over the links and images of magazine elements there is showing up the tooltip “Link to: ….”. I was not aware of this before. So, I would like to remove the “Link to:” and showing up the title name only, like it does when hovering over normal images or similar. How can I achieve that? Please kindly find the link to my website in private content box.

    Thank you for your kind help in advance.

    Best regards,
    Sophie

    schnelletexte.de
    Participant

    Hallo, die Hotspots auf [Image with Hotspots] https://www.konzeptionstexter.com funktionieren unter Safari nicht. In allen anderen Browsern (Chrome, Firefox, Opera, Vivaldi) werden die Tooltips angezeigt. Gibt es hierfür ein Debugging? Vielen Dank!

    #989528

    In reply to: moving the search box

    can you try this in your functions.php of your child-theme:
    this filter you will only need if you havn’t got a secondary menu or social media – so there will be no header-meta
    add_filter( 'avf_execute_avia_meta_header', '__return_true', 10, 1);

    for you this will be enough i think:

    add_filter( 'avia_meta_header', 'avia_append_search_nav_mod');
    function avia_append_search_nav_mod()
    {
              global $avia_config;
              ob_start();
              get_search_form();
              $form =  htmlspecialchars(ob_get_clean()) ;
    
              $items .= '<li id="menu-item-search" class="noMobile menu-item menu-item-search-dropdown menu-item-avia-special">
                            <a href="?s=" data-avia-search-tooltip="'.$form.'" '.av_icon_string('search').'>
                              <span class="avia_hidden_link_text">'.__('Search','avia_framework').'</span>
                            </a>
                        </li>';
    
        echo $items;
    }

    Edit: i see it has on header meta a list-point so add this to your quick css:

    #top #menu-item-search {
        list-style: none;
    }
    #986992

    In reply to: SEARCH

    Hey fattlco,

    Here is the code you can put in Enfold > General Styling > Quick Css,  if it does not work, put into themes/enfold/css/custom.css

    
    .html_bottom_nav_header .avia-search-tooltip {
        top: -17% !important;
        margin-left: 168px;
    }
    

    If you need further assistance please let us know.

    Best regards,
    Victoria

    #986838

    In reply to: social icons

    Dear Basilis,
    the css code is in the child theme… what you mean with i add it back? I just only need to know why it’s not working the code in here: https://kriesi.at/documentation/enfold/social-share-buttons/ I erase it already as it’s not working

    is this one:

    /*—————————————-
    // CSS – Social Share style – 4
    //————————————–*/

    /* Hide tool tip */
    .av-social-sharing-box .avia-related-tooltip {
    display: none !important;
    }

    /* Remove icon border */
    #top .av-social-sharing-box .av-share-box ul li {
    border-left-style: none;
    display: inline-block;
    vertical-align: middle!important;
    margin: 0 10px 0 0;
    }

    /* Icon style */
    #top .av-social-sharing-box .av-share-link a {
    width: 30px!important;
    height: 30px!important;
    border-radius: 30px:!important;
    padding: 3px 0 !important;

    }

    /* Icon color */
    .av-social-sharing-box .av-share-link a:before {
    color:#fff;
    transition: all .5s ease;
    }

    /* Icon */
    #top .av-social-sharing-box .av-share-link a {
    border-radius: 30px;
    }

    /* Back ground color */
    #top .av-social-sharing-box .av-social-link-rss a{color:#fff; background-color:#ffa133; }
    #top .av-social-sharing-box .av-social-link-facebook a{color:#fff; background-color:#37589b; }
    #top .av-social-sharing-box .av-social-link-twitter a{color:#fff; background-color:#46d4fe; }
    #top .av-social-sharing-box .av-social-link-mail a{color:#fff; background-color:#9fae37; }
    #top .av-social-sharing-box .av-social-link-dribbble a{color:#fff; background-color:#e44885; }
    #top .av-social-sharing-box .av-social-link-linkedin a{color:#fff; background-color:#419cca; }
    #top .av-social-sharing-box .av-social-link-search a{color:#fff; background-color:#222222; }
    #top .av-social-sharing-box .av-social-link-gplus a{color:#fff; background-color:#de5a49; }
    #top .av-social-sharing-box .av-social-link-behance a{color:#fff; background-color:#008cfa; }
    #top .av-social-sharing-box .av-social-link-flickr a{color:#fff; background-color:#ff0086; }
    #top .av-social-sharing-box .av-social-link-forrst a{color:#fff; background-color:#234317; }
    #top .av-social-sharing-box .av-social-link-myspace a{color:#fff; background-color:#000000; }
    #top .av-social-sharing-box .av-social-link-tumblr a{color:#fff; background-color:#345574; }
    #top .av-social-sharing-box .av-social-link-vimeo a{color:#fff; background-color:#31baff; }
    #top .av-social-sharing-box .av-social-link-youtube a{color:#fff; background-color:#a72b1d; }
    #top .av-social-sharing-box .av-social-link-pinterest a{color:#fff; background-color:#cb2027; }
    #top .av-social-sharing-box .av-social-link-skype a{color:#fff; background-color:#12a5f4; }
    #top .av-social-sharing-box .av-social-link-instagram a{color:#fff; background-color:#a67658; }

    #985490

    HI Victoria,
    I think, it is nothing with Enfold theme. Even in the Demo of Booking Calendar sometimes there are no tooltips displayed.
    Sorry, you can close this now.
    Best regards,
    Rolf

Viewing 30 results - 781 through 810 (of 2,320 total)