fusion_builder_default_visibility( 'string' ),
'class' => '',
'id' => '',
'name' => '',
), $args
);
extract( $defaults );
self::$parent_args = $defaults;
ob_start();
$term = $name;
$term_details = get_term_by( 'slug', $term, 'slide-page' );
if ( ! $term_details ) {
return do_shortcode( '[fusion_alert type="error"]Incorrect slider name. Please make sure to use a valid slider slug.[/fusion_alert]' );
}
$slider_settings = get_option( 'taxonomy_' . $term_details->term_id, array() );
if ( ! isset( $slider_settings['nav_box_width'] ) ) {
$slider_settings['nav_box_width'] = '63px';
}
if ( ! isset( $slider_settings['nav_box_height'] ) ) {
$slider_settings['nav_box_height'] = '63px';
}
if ( ! isset( $slider_settings['nav_arrow_size'] ) ) {
$slider_settings['nav_arrow_size'] = '25px';
}
if ( $slider_settings['nav_box_height'] ) {
$nav_box_height_half = intval( $slider_settings['nav_box_height'] ) / 2;
}
self::$slider_settings = $slider_settings;
$content_max_width = '';
if ( isset( $slider_settings['slider_content_width'] ) && '' !== $slider_settings['slider_content_width'] ) {
$content_max_width = 'max-width:' . $slider_settings['slider_content_width'];
}
if ( ! isset( $slider_settings['slider_indicator'] ) ) {
$slider_settings['slider_indicator'] = '';
}
if ( ! isset( $slider_settings['slider_indicator_color'] ) || '' === $slider_settings['slider_indicator_color'] ) {
$slider_settings['slider_indicator_color'] = '#ffffff';
}
$orderby = ( isset( $slider_settings['orderby'] ) ) ? $slider_settings['orderby'] : 'date';
$order = ( isset( $slider_settings['order'] ) ) ? $slider_settings['order'] : 'DESC';
$args = array(
'post_type' => 'slide',
'posts_per_page' => -1,
'suppress_filters' => 0,
'orderby' => $orderby,
'order' => $order,
);
$args['tax_query'][] = array(
'taxonomy' => 'slide-page',
'field' => 'slug',
'terms' => $term,
);
$query = FusionCore_Plugin::fusion_core_cached_query( $args );
if ( $query->have_posts() ) : ?>
>
>
have_posts() ) :
$query->the_post();
$metadata = get_metadata( 'post', get_the_ID() );
$background_image = '';
$background_class = '';
$img_width = '';
$image_url = array( '', '' );
if ( isset( $metadata['pyre_type'][0] ) && 'image' === $metadata['pyre_type'][0] && has_post_thumbnail() ) {
$image_id = get_post_thumbnail_id();
$image_url = wp_get_attachment_image_src( $image_id, 'full', true );
$background_image = 'background-image: url(' . $image_url[0] . ');';
$background_class = 'background-image';
$img_width = $image_url[1];
}
$aspect_ratio = '16:9';
$video_attributes = '';
$youtube_attributes = '';
$vimeo_attributes = '';
$data_mute = 'no';
$data_loop = 'no';
$data_autoplay = 'no';
if ( isset( $metadata['pyre_aspect_ratio'][0] ) && $metadata['pyre_aspect_ratio'][0] ) {
$aspect_ratio = $metadata['pyre_aspect_ratio'][0];
}
if ( isset( $metadata['pyre_mute_video'][0] ) && 'yes' === $metadata['pyre_mute_video'][0] ) {
$video_attributes = 'muted';
$data_mute = 'yes';
}
if ( isset( $metadata['pyre_autoplay_video'][0] ) && 'yes' === $metadata['pyre_autoplay_video'][0] ) {
$video_attributes .= ' autoplay';
$youtube_attributes .= '&autoplay=0';
$vimeo_attributes .= '&autoplay=0';
$data_autoplay = 'yes';
}
if ( isset( $metadata['pyre_loop_video'][0] ) && 'yes' === $metadata['pyre_loop_video'][0] ) {
$video_attributes .= ' loop';
$youtube_attributes .= '&loop=1&playlist=' . $metadata['pyre_youtube_id'][0];
$vimeo_attributes .= '&loop=1';
$data_loop = 'yes';
}
if ( isset( $metadata['pyre_hide_video_controls'][0] ) && 'no' === $metadata['pyre_hide_video_controls'][0] ) {
$video_attributes .= ' controls';
$youtube_attributes .= '&controls=1';
$video_zindex = 'z-index: 1;';
} else {
$youtube_attributes .= '&controls=0';
$video_zindex = 'z-index: -99;';
}
$heading_color = '';
if ( isset( $metadata['pyre_heading_color'][0] ) && $metadata['pyre_heading_color'][0] ) {
$heading_color = 'color:' . $metadata['pyre_heading_color'][0] . ';';
}
$heading_bg = '';
if ( isset( $metadata['pyre_heading_bg'][0] ) && 'yes' === $metadata['pyre_heading_bg'][0] ) {
$heading_bg = 'background-color: rgba(0,0,0, 0.4);';
if ( isset( $metadata['pyre_heading_bg_color'][0] ) && '' !== $metadata['pyre_heading_bg_color'][0] ) {
$rgb = fusion_hex2rgb( $metadata['pyre_heading_bg_color'][0] );
$heading_bg = 'background-color: rgba(' . $rgb[0] . ',' . $rgb[1] . ',' . $rgb[2] . ',0.4);';
}
}
$caption_color = '';
if ( isset( $metadata['pyre_caption_color'][0] ) && $metadata['pyre_caption_color'][0] ) {
$caption_color = 'color:' . $metadata['pyre_caption_color'][0] . ';';
}
$caption_bg = '';
if ( isset( $metadata['pyre_caption_bg'][0] ) && 'yes' === $metadata['pyre_caption_bg'][0] ) {
$caption_bg = 'background-color: rgba(0, 0, 0, 0.4);';
if ( isset( $metadata['pyre_caption_bg_color'][0] ) && '' !== $metadata['pyre_caption_bg_color'][0] ) {
$rgb = fusion_hex2rgb( $metadata['pyre_caption_bg_color'][0] );
$caption_bg = 'background-color: rgba(' . $rgb[0] . ',' . $rgb[1] . ',' . $rgb[2] . ',0.4);';
}
}
$video_bg_color = '';
if ( isset( $metadata['pyre_video_bg_color'][0] ) && $metadata['pyre_video_bg_color'][0] ) {
$video_bg_color_hex = fusion_hex2rgb( $metadata['pyre_video_bg_color'][0] );
$video_bg_color = 'background-color: rgba(' . $video_bg_color_hex[0] . ', ' . $video_bg_color_hex[1] . ', ' . $video_bg_color_hex[2] . ', 0.4);';
}
$video = false;
if ( isset( $metadata['pyre_type'][0] ) ) {
if ( isset( $metadata['pyre_type'][0] ) && in_array( $metadata['pyre_type'][0], array( 'self-hosted-video', 'youtube', 'vimeo' ), true ) ) {
$video = true;
}
}
if ( isset( $metadata['pyre_type'][0] ) && 'self-hosted-video' === $metadata['pyre_type'][0] ) {
$background_class = 'self-hosted-video-bg';
}
$heading_size = 2;
if ( isset( $metadata['pyre_heading_size'][0] ) && $metadata['pyre_heading_size'][0] ) {
$heading_size = $metadata['pyre_heading_size'][0];
}
$heading_font_size = 'font-size:60px;line-height:80px;';
if ( isset( $metadata['pyre_heading_font_size'][0] ) && $metadata['pyre_heading_font_size'][0] ) {
$line_height = $metadata['pyre_heading_font_size'][0] * 1.2;
$heading_font_size = 'font-size:' . $metadata['pyre_heading_font_size'][0] . 'px;line-height:' . $line_height . 'px;';
}
$caption_size = 3;
if ( isset( $metadata['pyre_caption_size'][0] ) && $metadata['pyre_caption_size'][0] ) {
$caption_size = $metadata['pyre_caption_size'][0];
}
$caption_font_size = 'font-size: 24px;line-height:38px;';
if ( isset( $metadata['pyre_caption_font_size'][0] ) && $metadata['pyre_caption_font_size'][0] ) {
$line_height = $metadata['pyre_caption_font_size'][0] * 1.2;
$caption_font_size = 'font-size:' . $metadata['pyre_caption_font_size'][0] . 'px;line-height:' . $line_height . 'px;';
}
$heading_styles = $heading_color . $heading_font_size;
$caption_styles = $caption_color . $caption_font_size;
$heading_title_sc_wrapper_class = '';
$caption_title_sc_wrapper_class = '';
if ( ! isset( $metadata['pyre_heading_separator'][0] ) ) {
$metadata['pyre_heading_separator'][0] = 'none';
}
if ( ! isset( $metadata['pyre_caption_separator'][0] ) ) {
$metadata['pyre_caption_separator'][0] = 'none';
}
if ( 'center' !== $metadata['pyre_content_alignment'][0] ) {
$metadata['pyre_heading_separator'][0] = 'none';
$metadata['pyre_caption_separator'][0] = 'none';
}
if ( 'center' === $metadata['pyre_content_alignment'][0] ) {
if ( 'none' !== $metadata['pyre_heading_separator'][0] ) {
$heading_title_sc_wrapper_class = ' fusion-block-element';
}
if ( 'none' !== $metadata['pyre_caption_separator'][0] ) {
$caption_title_sc_wrapper_class = ' fusion-block-element';
}
}
?>
-
>
sanitize->css_asset_url( $metadata['pyre_preview_image'][0] ) : ''; ?>
sanitize->css_asset_url( FUSION_CORE_URL . '/images/video_preview.jpg' ) : FUSION_CORE_URL . '/images/video_preview.jpg'; ?>
'fusion-slider-container',
)
);
$term_details = get_term_by( 'slug', self::$parent_args['name'], 'slide-page' );
$attr['class'] .= ' fusion-slider-' . $term_details->term_id;
if ( '100%' === self::$slider_settings['slider_width'] && ! self::$slider_settings['full_screen'] ) {
$attr['class'] .= ' full-width-slider';
}
if ( '100%' !== self::$slider_settings['slider_width'] && ! self::$slider_settings['full_screen'] ) {
$attr['class'] .= ' fixed-width-slider';
}
$attr['class'] .= ' ' . self::$parent_args['class'];
$attr['id'] = 'fusion-slider-sc-' . self::$parent_args['name'];
$attr['style'] = 'height:' . self::$slider_settings['slider_height'] . '; max-width:' . self::$slider_settings['slider_width'] . ';';
return $attr;
}
/**
* Builds the container attributes array.
*
* @access public
* @since 1.0
* @return array
*/
public function container_attr() {
$attr = array(
'class' => 'tfs-slider flexslider main-flex',
);
if ( self::$slider_settings ) {
foreach ( self::$slider_settings as $slider_setting => $slider_setting_value ) {
$attr[ 'data-' . $slider_setting ] = $slider_setting_value;
}
}
if ( '100%' === self::$slider_settings['slider_width'] && ! self::$slider_settings['full_screen'] ) {
$attr['class'] .= ' full-width-slider';
}
if ( '100%' !== self::$slider_settings['slider_width'] && ! self::$slider_settings['full_screen'] ) {
$attr['class'] .= ' fixed-width-slider';
}
$attr['style'] = 'max-width:' . self::$slider_settings['slider_width'] . ';';
return $attr;
}
}
} // End if().
new FusionSC_FusionSlider();
} // End if().
/**
* Map shortcode to Fusion Builder
*
* @since 1.0
*/
function fusion_element_fusionslider() {
if ( ! class_exists( 'Fusion_Slider' ) ) {
return;
}
fusion_builder_map(
array(
'name' => esc_attr__( 'Fusion Slider', 'fusion-core' ),
'shortcode' => 'fusion_fusionslider',
'icon' => 'fusiona-TFicon',
'preview' => FUSION_CORE_PATH . '/shortcodes/previews/fusion-fusion-slider-preview.php',
'preview_id' => 'fusion-builder-block-module-fusion-slider-preview-template',
'params' => array(
array(
'type' => 'select',
'heading' => esc_attr__( 'Slider Name', 'fusion-core' ),
'description' => esc_attr__( 'Select the slider you want to use. The options will appear as the slider name next to the number of slides in brackets.', 'fusion-core' ),
'param_name' => 'name',
'value' => FusionCore_Plugin::get_fusion_sliders(),
'default' => '',
),
array(
'type' => 'checkbox_button_set',
'heading' => esc_attr__( 'Element Visibility', 'fusion-core' ),
'param_name' => 'hide_on_mobile',
'value' => fusion_builder_visibility_options( 'full' ),
'default' => fusion_builder_default_visibility( 'array' ),
'description' => esc_attr__( 'Choose to show or hide the element on small, medium or large screens. You can choose more than one at a time.', 'fusion-core' ),
),
array(
'type' => 'textfield',
'heading' => esc_attr__( 'CSS Class', 'fusion-core' ),
'param_name' => 'class',
'value' => '',
'description' => esc_attr__( 'Add a class to the wrapping HTML element.', 'fusion-core' ),
),
array(
'type' => 'textfield',
'heading' => esc_attr__( 'CSS ID', 'fusion-core' ),
'param_name' => 'id',
'value' => '',
'description' => esc_attr__( 'Add an ID to the wrapping HTML element.', 'fusion-core' ),
),
),
)
);
}
// Priority 20 to make sure its loaded after setup_fusion_slider.
add_action( 'wp_loaded', 'fusion_element_fusionslider', 20 );