You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.2 KiB
127 lines
4.2 KiB
<?php
|
|
$output = $title = $type = $onclick = $custom_links = $img_size = $custom_links_target = $images = $el_class = $interval = '';
|
|
extract( shortcode_atts( array(
|
|
'title' => '',
|
|
'type' => 'flexslider',
|
|
'onclick' => 'link_image',
|
|
'custom_links' => '',
|
|
'custom_links_target' => '',
|
|
'img_size' => 'thumbnail',
|
|
'images' => '',
|
|
'el_class' => '',
|
|
'interval' => '5',
|
|
), $atts ) );
|
|
$gal_images = '';
|
|
$link_start = '';
|
|
$link_end = '';
|
|
$el_start = '';
|
|
$el_end = '';
|
|
$slides_wrap_start = '';
|
|
$slides_wrap_end = '';
|
|
|
|
$el_class = $this->getExtraClass( $el_class );
|
|
if ( $type == 'nivo' ) {
|
|
$type = ' wpb_slider_nivo theme-default';
|
|
wp_enqueue_script( 'nivo-slider' );
|
|
wp_enqueue_style( 'nivo-slider-css' );
|
|
wp_enqueue_style( 'nivo-slider-theme' );
|
|
|
|
$slides_wrap_start = '<div class="nivoSlider">';
|
|
$slides_wrap_end = '</div>';
|
|
} else if ( $type == 'flexslider' || $type == 'flexslider_fade' || $type == 'flexslider_slide' || $type == 'fading' ) {
|
|
$el_start = '<li>';
|
|
$el_end = '</li>';
|
|
$slides_wrap_start = '<ul class="slides">';
|
|
$slides_wrap_end = '</ul>';
|
|
wp_enqueue_style( 'flexslider' );
|
|
wp_enqueue_script( 'flexslider' );
|
|
} else if ( $type == 'image_grid' ) {
|
|
wp_enqueue_script( 'isotope' );
|
|
|
|
$el_start = '<li class="isotope-item">';
|
|
$el_end = '</li>';
|
|
$slides_wrap_start = '<ul class="wpb_image_grid_ul">';
|
|
$slides_wrap_end = '</ul>';
|
|
} else if ( $type == 'owl-carousel' ) {
|
|
$el_start = '<div class="owl-carousel-item">';
|
|
$el_end = '</div>';
|
|
$slides_wrap_start = '<div class="owl-carousel owl-items-carousel">';
|
|
$slides_wrap_end = '</div>';
|
|
}
|
|
|
|
if ( $onclick == 'link_image' ) {
|
|
wp_enqueue_script( 'prettyphoto' );
|
|
wp_enqueue_style( 'prettyphoto' );
|
|
}
|
|
|
|
$flex_fx = '';
|
|
if ( $type == 'flexslider' || $type == 'flexslider_fade' || $type == 'fading' ) {
|
|
$type = ' wpb_flexslider flexslider_fade flexslider';
|
|
$flex_fx = 'fade';
|
|
} else if ( $type == 'flexslider_slide' ) {
|
|
$type = ' wpb_flexslider flexslider_slide flexslider';
|
|
$flex_fx = 'slide';
|
|
} else if ( $type == 'image_grid' ) {
|
|
$type = ' wpb_image_grid';
|
|
} else if ( $type == 'owl-carousel' ) {
|
|
$type = ' wpb_owl_carousel';
|
|
}
|
|
|
|
|
|
|
|
//if ( $images == '' ) return null;
|
|
if ( $images == '' ) $images = '-1,-2,-3';
|
|
|
|
$pretty_rel_random = ' rel="prettyPhoto[rel-' . rand() . ']"'; //rel-'.rand();
|
|
|
|
if ( $onclick == 'custom_link' ) {
|
|
$custom_links = explode( ',', $custom_links );
|
|
}
|
|
$images = explode( ',', $images );
|
|
$i = - 1;
|
|
|
|
foreach ( $images as $attach_id ) {
|
|
$i ++;
|
|
if ( $attach_id > 0 ) {
|
|
$post_thumbnail = wpb_getImageBySize( array( 'attach_id' => $attach_id, 'thumb_size' => $img_size ) );
|
|
} else {
|
|
$post_thumbnail = array();
|
|
$post_thumbnail['thumbnail'] = '<img src="' . vc_asset_url( 'vc/no_image.png' ) . '" />';
|
|
$post_thumbnail['p_img_large'][0] = vc_asset_url( 'vc/no_image.png' );
|
|
}
|
|
|
|
$thumbnail = $post_thumbnail['thumbnail'];
|
|
$p_img_large = $post_thumbnail['p_img_large'];
|
|
$link_start = $link_end = '';
|
|
|
|
if ( $onclick == 'link_image' ) {
|
|
$link_start = '<a class="prettyphoto" href="' . esc_url( $p_img_large[0] ) . '"' . $pretty_rel_random . '>';
|
|
$link_end = '</a>';
|
|
} else if ( $onclick == 'custom_link' && isset( $custom_links[$i] ) && $custom_links[$i] != '' ) {
|
|
$link_start = '<a href="' . esc_url( $custom_links[$i] ) . '"' . ( ! empty( $custom_links_target ) ? ' target="' . $custom_links_target . '"' : '' ) . '>';
|
|
$link_end = '</a>';
|
|
}
|
|
$gal_images .= $el_start . $link_start . $thumbnail . $link_end . $el_end;
|
|
}
|
|
$css_class = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, 'wpb_gallery wpb_content_element' . $el_class . ' vc_clearfix', $this->settings['base'], $atts );
|
|
|
|
?>
|
|
<div class="<?php echo esc_attr( $css_class ); ?>">
|
|
<div class="wpb_wrapper">
|
|
<?php echo wpb_widget_title( array( 'title' => $title, 'extraclass' => 'wpb_gallery_heading' ) ); ?>
|
|
<div class="wpb_gallery_slides<?php echo esc_attr( $type ); ?>" data-interval="<?php echo esc_attr( $interval ); ?>" data-flex_fx="<?php echo esc_attr( $flex_fx ); ?>">
|
|
<?php echo apply_filters( 'wpb_gallery_content', $slides_wrap_start . $gal_images . $slides_wrap_end ); ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
|
|
if( $type == ' wpb_owl_carousel' ) {
|
|
wp_add_inline_script( 'woodmart-theme', '
|
|
jQuery( document ).ready(function( $ ) {
|
|
$(".owl-carousel").owlCarousel({
|
|
rtl: $("body").hasClass("rtl")
|
|
});
|
|
});
|
|
', 'after' );
|
|
}
|
|
|