Example #1
0
    function grve_portfolio_shortcode($attr, $content)
    {
        $portfolio_row_start = $allow_filter = $class_fullwidth = $el_class = '';
        extract(shortcode_atts(array('categories' => '', 'portfolio_style' => 'grid', 'portfolio_columns' => '3', 'portfolio_image_mode' => '', 'portfolio_link_type' => 'item', 'portfolio_link_type_title' => 'More Details', 'portfolio_filter' => '', 'portfolio_filter_align' => 'left', 'filter_order_by' => '', 'filter_order' => 'ASC', 'item_gutter' => 'yes', 'item_spinner' => 'no', 'items_per_page' => '4', 'items_to_show' => '12', 'hide_portfolio_title' => '', 'hide_portfolio_caption' => '', 'hide_portfolio_like' => '', 'portfolio_hover_style' => 'hover-style-1', 'zoom_effect' => 'in', 'overlay_color' => 'dark', 'overlay_opacity' => '60', 'order_by' => 'date', 'order' => 'DESC', 'disable_pagination' => '', 'slideshow_speed' => '3000', 'auto_play' => 'yes', 'navigation_type' => '1', 'navigation_color' => 'light', 'pause_hover' => 'no', 'margin_bottom' => '', 'el_class' => ''), $attr));
        $portfolio_classes = array('grve-element');
        $data_string = '';
        switch ($portfolio_style) {
            case 'carousel':
                $data_string = ' data-items="' . esc_attr($items_per_page) . '" data-slider-autoplay="' . esc_attr($auto_play) . '" data-slider-speed="' . esc_attr($slideshow_speed) . '" data-slider-pause="' . esc_attr($pause_hover) . '"';
                array_push($portfolio_classes, 'grve-carousel-wrapper');
                if ('popup' == $portfolio_link_type) {
                    array_push($portfolio_classes, 'grve-gallery-popup');
                }
                $disable_pagination = 'yes';
                break;
            case 'masonry':
                $portfolio_row_start = '<div class="grve-isotope-container">';
                if ('popup' == $portfolio_link_type) {
                    $portfolio_row_start = '<div class="grve-isotope-container grve-gallery-popup">';
                }
                $data_string = ' data-gutter="' . esc_attr($item_gutter) . '" data-spinner="' . esc_attr($item_spinner) . '" data-type="' . esc_attr($portfolio_columns) . '-columns" data-layout="masonry"';
                array_push($portfolio_classes, 'grve-portfolio');
                array_push($portfolio_classes, 'grve-isotope');
                $allow_filter = 'yes';
                break;
            case 'multi-grid':
                $portfolio_row_start = '<div class="grve-isotope-container">';
                if ('popup' == $portfolio_link_type) {
                    $portfolio_row_start = '<div class="grve-isotope-container grve-gallery-popup">';
                }
                $data_string = ' data-gutter="' . esc_attr($item_gutter) . '" data-spinner="' . esc_attr($item_spinner) . '" data-type="' . esc_attr($portfolio_columns) . '-columns" data-layout="packery"';
                array_push($portfolio_classes, 'grve-portfolio');
                array_push($portfolio_classes, 'grve-isotope');
                $allow_filter = 'yes';
                break;
            case 'small-media':
                $portfolio_row_start = '<div class="grve-standard-container">';
                array_push($portfolio_classes, 'grve-portfolio');
                array_push($portfolio_classes, 'grve-blog');
                array_push($portfolio_classes, 'grve-small-media');
                array_push($portfolio_classes, 'grve-non-isotope');
                $allow_filter = 'yes';
                $portfolio_link_type = 'item';
                break;
            case 'grid':
            default:
                $portfolio_row_start = '<div class="grve-isotope-container">';
                if ('popup' == $portfolio_link_type) {
                    $portfolio_row_start = '<div class="grve-isotope-container grve-gallery-popup">';
                }
                $data_string = ' data-gutter="' . esc_attr($item_gutter) . '" data-spinner="' . esc_attr($item_spinner) . '" data-type="' . esc_attr($portfolio_columns) . '-columns" data-layout="fitRows"';
                array_push($portfolio_classes, 'grve-portfolio');
                array_push($portfolio_classes, 'grve-isotope');
                $allow_filter = 'yes';
                break;
        }
        if (!empty($el_class)) {
            array_push($portfolio_classes, $el_class);
        }
        $portfolio_class_string = implode(' ', $portfolio_classes);
        $style = grve_osmosis_vce_build_margin_bottom_style($margin_bottom);
        $portfolio_cat = "";
        $portfolio_category_ids = array();
        if (!empty($categories)) {
            $portfolio_category_ids = explode(",", $categories);
            foreach ($portfolio_category_ids as $category_id) {
                $category_term = get_term($category_id, 'portfolio_category');
                if (isset($category_term)) {
                    $portfolio_cat = $portfolio_cat . $category_term->slug . ', ';
                }
            }
        }
        global $paged;
        $paged = 1;
        if ('yes' != $disable_pagination) {
            if (get_query_var('paged')) {
                $paged = get_query_var('paged');
            } elseif (get_query_var('page')) {
                $paged = get_query_var('page');
            }
        }
        $args = array('post_type' => 'portfolio', 'post_status' => 'publish', 'paged' => $paged, 'portfolio_category' => $portfolio_cat, 'posts_per_page' => $items_to_show, 'orderby' => $order_by, 'order' => $order);
        $query = new WP_Query($args);
        ob_start();
        if ($query->have_posts()) {
            ?>
			<div class="<?php 
            echo esc_attr($portfolio_class_string);
            ?>
" style="<?php 
            echo $style;
            ?>
"<?php 
            echo $data_string;
            ?>
>
		<?php 
            if ('yes' == $portfolio_filter && 'yes' == $allow_filter) {
                $category_prefix = '.portfolio_category_';
                $category_filter_list = array();
                $category_filter_array = array();
                $all_string = apply_filters('grve_vce_portfolio_string_all_categories', __('All', 'grve-osmosis-vc-extension'));
                $category_filter_string = '<li data-filter="*" class="selected">' . $all_string . '</li>';
                $category_filter_add = false;
                while ($query->have_posts()) {
                    $query->the_post();
                    if ($portfolio_categories = get_the_terms(get_the_ID(), 'portfolio_category')) {
                        foreach ($portfolio_categories as $category_term) {
                            $category_filter_add = false;
                            if (!in_array($category_term->term_id, $category_filter_list)) {
                                if (!empty($portfolio_category_ids)) {
                                    if (in_array($category_term->term_id, $portfolio_category_ids)) {
                                        $category_filter_add = true;
                                    }
                                } else {
                                    $category_filter_add = true;
                                }
                                if ($category_filter_add) {
                                    $category_filter_list[] = $category_term->term_id;
                                    if ('title' == $filter_order_by) {
                                        $category_filter_array[$category_term->name] = $category_term;
                                    } elseif ('slug' == $filter_order_by) {
                                        $category_filter_array[$category_term->slug] = $category_term;
                                    } else {
                                        $category_filter_array[$category_term->term_id] = $category_term;
                                    }
                                }
                            }
                        }
                    }
                }
                if (count($category_filter_array) > 1) {
                    if ('' != $filter_order_by) {
                        if ('ASC' == $filter_order) {
                            ksort($category_filter_array);
                        } else {
                            krsort($category_filter_array);
                        }
                    }
                    foreach ($category_filter_array as $category_filter) {
                        $category_filter_string .= '<li data-filter="' . $category_prefix . $category_filter->slug . '">' . $category_filter->name . '</li>';
                    }
                    ?>
				<div class="grve-filter grve-align-<?php 
                    echo esc_attr($portfolio_filter_align);
                    ?>
">
					<ul>
						<?php 
                    echo $category_filter_string;
                    ?>
					</ul>
				</div>
		<?php 
                }
            }
            ?>

			<?php 
            echo $portfolio_row_start;
            ?>

		<?php 
            if ('carousel' == $portfolio_style) {
                ?>
			<?php 
                if (0 != $navigation_type) {
                    ?>
			<div class="grve-carousel-navigation grve-<?php 
                    echo esc_attr($navigation_color);
                    ?>
" data-navigation-type="<?php 
                    echo esc_attr($navigation_type);
                    ?>
">
				<div class="grve-carousel-buttons">
					<div class="grve-carousel-prev grve-icon-nav-left"></div>
					<div class="grve-carousel-next grve-icon-nav-right"></div>
				</div>
			</div>
			<?php 
                }
                ?>
			<div class="grve-carousel grve-carousel-element grve-portfolio"<?php 
                echo $data_string;
                ?>
>
<?php 
            }
            $portfolio_index = 0;
            while ($query->have_posts()) {
                $query->the_post();
                $image_size = 'grve-image-small-rect-horizontal';
                $portfolio_index++;
                $portfolio_extra_class = '';
                $caption = get_post_meta(get_the_ID(), 'grve_portfolio_description', true);
                $details = get_post_meta(get_the_ID(), 'grve_portfolio_details', true);
                $link_mode = get_post_meta(get_the_ID(), 'grve_portfolio_link_mode', true);
                $link_url = get_post_meta(get_the_ID(), 'grve_portfolio_link_url', true);
                $new_window = get_post_meta(get_the_ID(), 'grve_portfolio_link_new_window', true);
                $link_class = get_post_meta(get_the_ID(), 'grve_portfolio_link_extra_class', true);
                if ('carousel' != $portfolio_style) {
                    $image_size = 'grve-image-small-square';
                    $portfolio_extra_class = 'grve-isotope-item grve-portfolio-item ';
                    if ('multi-grid' == $portfolio_style) {
                        $grve_packery_data = grve_osmosis_vce_get_packery_data($portfolio_index, $portfolio_columns);
                        $portfolio_extra_class .= $grve_packery_data['class'];
                        $image_size = $grve_packery_data['image_size'];
                    } elseif ('masonry' == $portfolio_style) {
                        if ('resize' == $portfolio_image_mode) {
                            $portfolio_extra_class .= 'grve-masonry-image';
                            $image_size = 'large';
                        } else {
                            $grve_masonry_data = grve_osmosis_vce_get_masonry_data($portfolio_index, $portfolio_columns);
                            $portfolio_extra_class .= $grve_masonry_data['class'];
                            $image_size = $grve_masonry_data['image_size'];
                        }
                    } elseif ('grid' == $portfolio_style) {
                        if ('resize' == $portfolio_image_mode) {
                            $image_size = 'large';
                        }
                    } else {
                        $portfolio_extra_class = 'grve-non-isotope-item grve-blog-item grve-small-post';
                        $image_size = 'grve-image-small-rect-horizontal';
                        if ('resize' == $portfolio_image_mode) {
                            $image_size = 'large';
                        }
                    }
                } else {
                    $portfolio_extra_class = 'grve-portfolio-item';
                    echo '<div class="grve-carousel-item">';
                }
                //Portfolio Link
                $portfolio_link_exists = true;
                $grve_target = '_self';
                if (!empty($new_window)) {
                    $grve_target = '_blank';
                }
                ob_start();
                if ('small-media' == $portfolio_style) {
                    ?>
					<a title="<?php 
                    the_title();
                    ?>
" href="<?php 
                    echo esc_url(get_permalink());
                    ?>
">
				<?php 
                } else {
                    if ('popup' == $portfolio_link_type) {
                        ?>
					<a title="<?php 
                        the_title();
                        ?>
" href="<?php 
                        grve_osmosis_vce_print_portfolio_image('full', 'link');
                        ?>
">
				<?php 
                    } else {
                        if ('custom-link' == $portfolio_link_type) {
                            if ('' == $link_mode) {
                                ?>
					<a title="<?php 
                                the_title();
                                ?>
" href="<?php 
                                echo esc_url(get_permalink());
                                ?>
">
				<?php 
                            } else {
                                if ('link' == $link_mode && !empty($link_url)) {
                                    ?>
					<a title="<?php 
                                    the_title();
                                    ?>
" class="<?php 
                                    echo esc_attr($link_class);
                                    ?>
" href="<?php 
                                    echo esc_url($link_url);
                                    ?>
" target="<?php 
                                    echo esc_attr($grve_target);
                                    ?>
">
				<?php 
                                } else {
                                    $portfolio_link_exists = false;
                                }
                            }
                        } else {
                            ?>
					<a title="<?php 
                            the_title();
                            ?>
" href="<?php 
                            echo esc_url(get_permalink());
                            ?>
">
				<?php 
                        }
                    }
                }
                $link_start = ob_get_clean();
                if ($portfolio_link_exists) {
                    $link_end = '</a>';
                } else {
                    $link_end = '';
                }
                ?>
					<article id="portfolio-<?php 
                the_ID();
                echo uniqid('-');
                ?>
" <?php 
                post_class($portfolio_extra_class);
                ?>
>
						<?php 
                if ('carousel' == $portfolio_style) {
                    ?>
							<figure class="grve-hover-style-1 grve-image-hover grve-zoom-<?php 
                    echo esc_attr($zoom_effect);
                    ?>
 grve-<?php 
                    echo esc_attr($overlay_color);
                    ?>
">
								<?php 
                    if (function_exists('grve_print_portfolio_like_counter') && 'yes' != $hide_portfolio_like) {
                        grve_print_portfolio_like_counter();
                    }
                    ?>
								<div class="grve-media grve-<?php 
                    echo esc_attr($overlay_color);
                    ?>
-overlay grve-opacity-<?php 
                    echo esc_attr($overlay_opacity);
                    ?>
">
									<?php 
                    grve_osmosis_vce_print_portfolio_image($image_size);
                    ?>
								</div>
								<figcaption>
									<?php 
                    if ('yes' != $hide_portfolio_title) {
                        ?>
									<h6 class="grve-title grve-<?php 
                        echo esc_attr($overlay_color);
                        ?>
"><?php 
                        the_title();
                        ?>
</h6>
									<?php 
                    }
                    ?>
									<?php 
                    if (!empty($caption) && 'yes' != $hide_portfolio_caption) {
                        ?>
									<span class="grve-caption grve-<?php 
                        echo esc_attr($overlay_color);
                        ?>
"><?php 
                        echo $caption;
                        ?>
</span>
									<?php 
                    }
                    ?>

									<?php 
                    if ('popup' == $portfolio_link_type) {
                        ?>
										<a title="<?php 
                        the_title();
                        ?>
" class="grve-portfolio-btns" href="<?php 
                        grve_osmosis_vce_print_portfolio_image('full', 'link');
                        ?>
"><?php 
                        echo $portfolio_link_type_title;
                        ?>
</a>
									<?php 
                    } elseif ($portfolio_link_exists) {
                        if ('custom-link' == $portfolio_link_type && 'link' == $link_mode) {
                            ?>
										<a class="grve-portfolio-btns" href="<?php 
                            echo esc_url($link_url);
                            ?>
" target="<?php 
                            echo esc_attr($grve_target);
                            ?>
"><?php 
                            echo $portfolio_link_type_title;
                            ?>
</a>
									<?php 
                        } else {
                            ?>
										<a class="grve-portfolio-btns" href="<?php 
                            echo esc_url(get_permalink());
                            ?>
"><?php 
                            echo $portfolio_link_type_title;
                            ?>
</a>
									<?php 
                        }
                    }
                    ?>
								</figcaption>
							</figure>
						<?php 
                } elseif ('small-media' == $portfolio_style) {
                    ?>
							<div class="grve-media grve-image-hover">
								<?php 
                    echo $link_start;
                    grve_osmosis_vce_print_portfolio_image($image_size);
                    echo $link_end;
                    ?>
							</div>
							<div class="grve-post-content">
								<?php 
                    if ('yes' != $hide_portfolio_title) {
                        ?>
								<?php 
                        echo $link_start;
                        ?>
<h4 class="grve-title grve-light"><?php 
                        the_title();
                        ?>
</h4><?php 
                        echo $link_end;
                        ?>
								<?php 
                    }
                    ?>
								<div class="grve-post-meta">
									<?php 
                    if (!empty($caption) && 'yes' != $hide_portfolio_caption) {
                        ?>
									<span class="grve-caption grve-light"><?php 
                        echo $caption;
                        ?>
</span>
									<?php 
                    }
                    ?>
								</div>
								<?php 
                    if (!empty($details)) {
                        ?>
									<p><?php 
                        echo $details;
                        ?>
</p>
								<?php 
                    }
                    ?>
									<a class="grve-read-more" href="<?php 
                    echo esc_url(get_permalink());
                    ?>
"><?php 
                    echo $portfolio_link_type_title;
                    ?>
</a>
							</div>
						<?php 
                } else {
                    if ('hover-style-3' == $portfolio_hover_style) {
                        ?>
							<?php 
                        echo $link_start;
                        ?>
							<figure class="grve-hover-style-3 grve-image-hover grve-zoom-<?php 
                        echo esc_attr($zoom_effect);
                        ?>
 grve-<?php 
                        echo esc_attr($overlay_color);
                        ?>
">
								<div class="grve-media grve-<?php 
                        echo esc_attr($overlay_color);
                        ?>
-overlay grve-opacity-<?php 
                        echo esc_attr($overlay_opacity);
                        ?>
">
									<?php 
                        if ($portfolio_link_exists) {
                            ?>
									<span class="grve-portfolio-btns"><?php 
                            echo $portfolio_link_type_title;
                            ?>
</span>
									<?php 
                        }
                        ?>
									<?php 
                        grve_osmosis_vce_print_portfolio_image($image_size);
                        ?>
								</div>
								<?php 
                        if (function_exists('grve_print_portfolio_like_counter') && 'yes' != $hide_portfolio_like) {
                            grve_print_portfolio_like_counter();
                        }
                        ?>
								<figcaption>
									<?php 
                        if ('yes' != $hide_portfolio_title) {
                            ?>
									<h6 class="grve-title grve-light"><?php 
                            the_title();
                            ?>
</h6>
									<?php 
                        }
                        ?>
									<?php 
                        if (!empty($caption) && 'yes' != $hide_portfolio_caption) {
                            ?>
									<span class="grve-caption grve-light"><?php 
                            echo $caption;
                            ?>
</span>
									<?php 
                        }
                        ?>
								</figcaption>
							</figure>
							<?php 
                        echo $link_end;
                        ?>
						<?php 
                    } else {
                        if ('hover-style-2' == $portfolio_hover_style) {
                            ?>
							<?php 
                            echo $link_start;
                            ?>
							<figure class="grve-hover-style-2 grve-<?php 
                            echo esc_attr($overlay_color);
                            ?>
">
								<div class="grve-media">
									<?php 
                            grve_osmosis_vce_print_portfolio_image($image_size);
                            ?>
								</div>
								<figcaption class="grve-<?php 
                            echo esc_attr($overlay_color);
                            ?>
-overlay grve-opacity-<?php 
                            echo esc_attr($overlay_opacity);
                            ?>
">
									<div class="grve-content">
										<?php 
                            if (function_exists('grve_print_portfolio_like_counter') && 'yes' != $hide_portfolio_like) {
                                grve_print_portfolio_like_counter();
                            }
                            ?>
										<?php 
                            if ('yes' != $hide_portfolio_title) {
                                ?>
										<h6 class="grve-title grve-<?php 
                                echo esc_attr($overlay_color);
                                ?>
"><?php 
                                the_title();
                                ?>
</h6>
										<?php 
                            }
                            ?>
										<?php 
                            if (!empty($caption) && 'yes' != $hide_portfolio_caption) {
                                ?>
										<span class="grve-caption grve-<?php 
                                echo esc_attr($overlay_color);
                                ?>
"><?php 
                                echo $caption;
                                ?>
</span>
										<?php 
                            }
                            ?>
									</div>
								</figcaption>
							</figure>
							<?php 
                            echo $link_end;
                            ?>
						<?php 
                        } else {
                            //Default Hover Style 1
                            ?>
							<?php 
                            echo $link_start;
                            ?>
							<figure class="grve-hover-style-1 grve-image-hover grve-zoom-<?php 
                            echo esc_attr($zoom_effect);
                            ?>
 grve-<?php 
                            echo esc_attr($overlay_color);
                            ?>
">
								<?php 
                            if (function_exists('grve_print_portfolio_like_counter') && 'yes' != $hide_portfolio_like) {
                                grve_print_portfolio_like_counter();
                            }
                            ?>
								<div class="grve-media grve-<?php 
                            echo esc_attr($overlay_color);
                            ?>
-overlay grve-opacity-<?php 
                            echo esc_attr($overlay_opacity);
                            ?>
">
									<?php 
                            grve_osmosis_vce_print_portfolio_image($image_size);
                            ?>
								</div>
								<figcaption>
									<?php 
                            if ('yes' != $hide_portfolio_title) {
                                ?>
									<h6 class="grve-title grve-<?php 
                                echo esc_attr($overlay_color);
                                ?>
"><?php 
                                the_title();
                                ?>
</h6>
									<?php 
                            }
                            ?>
									<?php 
                            if (!empty($caption) && 'yes' != $hide_portfolio_caption) {
                                ?>
									<span class="grve-caption grve-<?php 
                                echo esc_attr($overlay_color);
                                ?>
"><?php 
                                echo $caption;
                                ?>
</span>
									<?php 
                            }
                            ?>
									<?php 
                            if ($portfolio_link_exists) {
                                ?>
									<span class="grve-portfolio-btns"><?php 
                                echo $portfolio_link_type_title;
                                ?>
</span>
									<?php 
                            }
                            ?>
								</figcaption>
							</figure>
							<?php 
                            echo $link_end;
                            ?>
						<?php 
                        }
                    }
                }
                ?>

					</article>
<?php 
                if ('carousel' == $portfolio_style) {
                    echo '</div>';
                }
            }
            ?>
				</div>
<?php 
            if ('yes' != $disable_pagination) {
                $total = $query->max_num_pages;
                $big = 999999999;
                // need an unlikely integer
                if ($total > 1) {
                    echo '<div class="grve-pagination">';
                    if (!($current_page = $paged)) {
                        $current_page = 1;
                    }
                    if (get_option('permalink_structure')) {
                        $format = 'page/%#%/';
                    } else {
                        $format = '&paged=%#%';
                    }
                    echo paginate_links(array('base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 'format' => $format, 'current' => max(1, $paged), 'total' => $total, 'mid_size' => 2, 'type' => 'list', 'prev_text' => '<i class="grve-icon-nav-left"></i>', 'next_text' => '<i class="grve-icon-nav-right"></i>', 'add_args' => false));
                    echo '</div>';
                }
            }
            ?>
			</div>

		<?php 
        } else {
        }
        wp_reset_postdata();
        return ob_get_clean();
    }
Example #2
0
    function grve_gallery_shortcode($attr, $content)
    {
        $output = $start_block = $end_block = $item_class = $class_fullwidth = $el_class = '';
        extract(shortcode_atts(array('ids' => '', 'gallery_type' => 'grid', 'gallery_columns' => '3', 'item_gutter' => 'yes', 'hide_image_title' => '', 'hide_image_caption' => '', 'zoom_effect' => 'in', 'overlay_color' => 'dark', 'overlay_opacity' => '60', 'items_per_page' => '4', 'slideshow_speed' => '3000', 'auto_play' => 'yes', 'navigation_type' => '1', 'navigation_color' => 'light', 'pause_hover' => 'no', 'margin_bottom' => '', 'el_class' => ''), $attr));
        $attachments = explode(",", $ids);
        if (empty($attachments)) {
            return '';
        }
        //Gallery Classes
        $gallery_classes = array('grve-element', 'grve-gallery', 'grve-isotope', 'grve-gallery-popup');
        if (!empty($el_class)) {
            array_push($gallery_classes, $el_class);
        }
        $gallery_class_string = implode(' ', $gallery_classes);
        $style = grve_osmosis_vce_build_margin_bottom_style($margin_bottom);
        $data_string = '';
        switch ($gallery_type) {
            case 'masonry':
                $data_string = ' data-gutter="' . esc_attr($item_gutter) . '" data-type="' . esc_attr($gallery_columns) . '-columns" data-layout="masonry"';
                break;
            case 'multi-grid':
                $data_string = ' data-gutter="' . esc_attr($item_gutter) . '" data-type="' . esc_attr($gallery_columns) . '-columns" data-layout="packery"';
                break;
            case 'carousel':
                $data_string = ' data-items="' . esc_attr($items_per_page) . '" data-slider-autoplay="' . esc_attr($auto_play) . '" data-slider-speed="' . esc_attr($slideshow_speed) . '" data-slider-pause="' . esc_attr($pause_hover) . '"';
                break;
            case 'grid':
            default:
                $data_string = ' data-gutter="' . esc_attr($item_gutter) . '" data-type="' . esc_attr($gallery_columns) . '-columns" data-layout="fitRows"';
                break;
        }
        if ('carousel' == $gallery_type) {
            //Gallery Output ( carousel)
            $image_size = 'grve-image-small-rect-horizontal';
            $output .= '<div class="grve-element grve-carousel-wrapper" style="' . $style . '">';
            if (0 != $navigation_type) {
                $output .= '<div class="grve-carousel-navigation grve-' . esc_attr($navigation_color) . '" data-navigation-type="' . esc_attr($navigation_type) . '">';
                $output .= '	<div class="grve-carousel-buttons">';
                $output .= '		<div class="grve-carousel-prev grve-icon-nav-left"></div>';
                $output .= '		<div class="grve-carousel-next grve-icon-nav-right"></div>';
                $output .= '	</div>';
                $output .= '</div>';
            }
            $output .= '	<div class="grve-carousel grve-carousel-element ' . esc_attr($el_class) . '"' . $data_string . '>

			';
            foreach ($attachments as $id) {
                $thumb_src = wp_get_attachment_image_src($id, $image_size);
                $image_dimensions = 'width="' . $thumb_src[1] . '" height="' . $thumb_src[2] . '"';
                $alt = get_post_meta($id, '_wp_attachment_image_alt', true);
                $alt = !empty($alt) ? esc_attr($alt) : '';
                $output .= '<div class="grve-carousel-item">';
                $output .= '	<figure class="grve-image-hover">';
                $output .= '		<div class="grve-media">';
                $output .= '			<img src="' . esc_url($thumb_src[0]) . '" alt="' . $alt . '" ' . $image_dimensions . '>';
                $output .= '		</div>';
                $output .= '	</figure>';
                $output .= '</div>';
            }
            $output .= '	</div>';
            $output .= '</div>';
        } else {
            //Gallery Output ( grid / multi-grid / masonry)
            $output .= '<div class="' . esc_attr($gallery_class_string) . '" style="' . $style . '"' . $data_string . '>';
            $output .= '  <div class="grve-isotope-container">';
            $gallery_index = 0;
            $image_size = 'grve-image-small-square';
            $image_size_class = '';
            foreach ($attachments as $id) {
                $gallery_index++;
                if ('multi-grid' == $gallery_type) {
                    $grve_packery_data = grve_osmosis_vce_get_packery_data($gallery_index, $gallery_columns);
                    $image_size_class = ' ' . $grve_packery_data['class'];
                    $image_size = $grve_packery_data['image_size'];
                } elseif ('masonry' == $gallery_type) {
                    $grve_masonry_data = grve_osmosis_vce_get_masonry_data($gallery_index, $gallery_columns);
                    $image_size_class = ' ' . $grve_masonry_data['class'];
                    $image_size = $grve_masonry_data['image_size'];
                }
                $image_link_href = wp_get_attachment_url($id);
                $thumb_src = wp_get_attachment_image_src($id, $image_size);
                $image_dimensions = 'width="' . $thumb_src[1] . '" height="' . $thumb_src[2] . '"';
                $full_src = wp_get_attachment_image_src($id, 'grve-image-fullscreen');
                $image_title = get_post_field('post_title', $id);
                $caption = get_post_field('post_excerpt', $id);
                $alt = get_post_meta($id, '_wp_attachment_image_alt', true);
                $alt = !empty($alt) ? esc_attr($alt) : wptexturize($image_title);
                $output .= '<div class="grve-isotope-item ' . $image_size_class . '">';
                $output .= '  <a href="' . esc_url($full_src[0]) . '">';
                $output .= '    <figure class="grve-image-hover grve-zoom-' . $zoom_effect . '">';
                $output .= '      <div class="grve-media grve-' . $overlay_color . '-overlay grve-opacity-' . $overlay_opacity . '">';
                $output .= '        <img src="' . esc_url($thumb_src[0]) . '" alt="' . $alt . '" ' . $image_dimensions . '>';
                $output .= '      </div>';
                $output .= '      <figcaption>';
                if (!empty($image_title) && 'yes' != $hide_image_title) {
                    $output .= '<h6 class="grve-title grve-' . esc_attr($overlay_color) . '">' . wptexturize($image_title) . '</h6>';
                }
                if (!empty($caption) && 'yes' != $hide_image_caption) {
                    $output .= '<span class="grve-caption grve-' . esc_attr($overlay_color) . '">' . wptexturize($caption) . '</span>';
                }
                $output .= '      </figcaption>';
                $output .= '    </figure>';
                $output .= '  </a>';
                $output .= '</div>';
            }
            $output .= '  </div>';
            $output .= '</div>';
        }
        return $output;
    }