/**
  * Blog Carousel	
  * returns html ouput of posts for carousel
  * 
  * @param  array   $atts   
  * @return output 
  */
 function rt_blog_carousel($atts = array())
 {
     global $rt_post_values, $rt_blog_list_atts;
     //sanitize fields
     $atts["id"] = isset($atts["id"]) ? sanitize_html_class($atts["id"]) : 'blog-carousel-dynamicID-' . rand(100000, 1000000);
     //defaults
     $rt_blog_list_atts = shortcode_atts(array("id" => 'blog-carousel-dynamicID-' . rand(100000, 1000000), "list_layout" => "1/3", "nav" => "true", "dots" => "false", "featured_image_resize" => "true", "featured_image_max_width" => 0, "featured_image_max_height" => 0, "featured_image_crop" => "false", "list_orderby" => "date", "list_order" => "DESC", "max_item" => 10, "categories" => "", "ids" => "", "show_author" => "true", "show_categories" => "true", "show_comment_numbers" => "true", "show_date" => "true", "use_excerpts" => "true", "excerpt_length" => 100, "autoplay" => "false", "timeout" => 5000), $atts);
     extract($rt_blog_list_atts);
     //counter
     $counter = 1;
     //create a post status array
     $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
     //general query
     $args = array('post_status' => $post_status, 'post_type' => 'post', 'orderby' => $list_orderby, 'order' => $list_order, 'showposts' => $max_item);
     if (!empty($ids)) {
         $ids = !empty($ids) ? explode(",", trim($ids)) : array();
         $args = array_merge($args, array('post__in' => $ids));
     }
     if (!empty($categories)) {
         $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "category"));
         $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'category', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
     }
     $wp_query = new WP_Query($args);
     wp_reset_postdata();
     //column count
     $item_width = rt_column_count($list_layout);
     //column class
     $add_column_class = "item post";
     if ($wp_query->have_posts()) {
         $output = array();
         //the loop
         while ($wp_query->have_posts()) {
             $wp_query->the_post();
             //get post values
             $rt_post_values = rt_get_loop_post_values($wp_query->post, $rt_blog_list_atts, "carousel");
             ob_start();
             echo '<div class="' . $add_column_class . '">' . "\n";
             get_template_part('/post-contents/carousel', 'content');
             echo '</div>' . "\n";
             $output[] .= ob_get_contents();
             ob_end_clean();
             $counter++;
         }
         //reset post data for the new query
         wp_reset_postdata();
         //carousel atts
         $atts = array("id" => sanitize_html_class($id), "item_width" => $item_width, "class" => "blog-carousel", "nav" => $nav, "dots" => $dots, "autoplay" => $autoplay, "timeout" => $timeout);
         //create carousel
         return rt_create_carousel($output, $atts);
     }
 }
 /**
  * Product Carousel	
  * returns html ouput of woo products for carousel
  * 
  * @param  array   $atts   
  * @return output 
  */
 function rt_woo_products_carousel($atts = array())
 {
     //defaults
     $rt_product_list_atts = shortcode_atts(array("id" => 'carousel-dynamicID-' . rand(100000, 1000000), "list_layout" => "1/3", "nav" => "true", "dots" => "false", "list_orderby" => "date", "list_order" => "DESC", "max_item" => 10, "categories" => "", "ids" => "", "autoplay" => "false", "timeout" => 5000), $atts);
     extract($rt_product_list_atts);
     //sanitize fields
     $id = sanitize_html_class($id);
     //counter
     $counter = 1;
     //create a post status array
     $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
     //general query
     $args = array('post_status' => $post_status, 'post_type' => 'product', 'orderby' => $list_orderby, 'order' => $list_order, 'showposts' => $max_item, 'meta_query' => array(array('key' => '_visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN')));
     if (!empty($ids)) {
         $ids = !empty($ids) ? explode(",", trim($ids)) : array();
         $args = array_merge($args, array('post__in' => $ids));
     }
     if (!empty($categories)) {
         $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "product_cat"));
         $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'product_cat', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
     }
     $wp_query = new WP_Query($args);
     //column count
     $item_width = rt_column_count($list_layout);
     //column class
     $add_column_class = "product_item_holder item product";
     if ($wp_query->have_posts()) {
         $output = array();
         //the loop
         while ($wp_query->have_posts()) {
             $wp_query->the_post();
             ob_start();
             echo '<div class="' . $add_column_class . '">' . "\n";
             get_template_part('woocommerce/content-product', 'carousel');
             echo '</div>' . "\n";
             $output[] .= ob_get_contents();
             ob_end_clean();
             $counter++;
         }
         //reset post data for the new query
         wp_reset_postdata();
         //carousel atts
         $atts = array("id" => sanitize_html_class($id), "item_width" => $item_width, "class" => "wc-product-carousel woocommerce", "nav" => $nav, "dots" => $dots, "margin" => 14, "autoplay" => $autoplay, "timeout" => $timeout);
         //create carousel
         return rt_create_carousel($output, $atts);
     }
 }
    /**
     * Latest News Shortcode
     * @param  array $atts 
     * @param  string $content
     * @return html $output
     */
    function rt_latest_news($atts = array(), $content = null)
    {
        global $rt_post_values, $rt_blog_list_atts;
        //defaults
        $atts = shortcode_atts(array("id" => "", "image_width" => 250, "image_height" => 250, "list_orderby" => "date", "list_order" => "DESC", "max_item" => 10, "categories" => "", "excerpt_length" => 100, "style" => 1, "show_dates" => false), $atts);
        extract($atts);
        //id attr
        $id_attr = !empty($id) ? 'id="' . $id . '"' : "";
        //create a post status array
        $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
        //general query
        $args = array('post_status' => $post_status, 'post_type' => 'post', 'orderby' => $list_orderby, 'order' => $list_order, 'showposts' => $max_item);
        if (!empty($categories)) {
            $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "category"));
            $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'category', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
        }
        $wp_query = new WP_Query($args);
        $output = "";
        //get posts
        if ($wp_query->have_posts()) {
            //the loop
            while ($wp_query->have_posts()) {
                $wp_query->the_post();
                $post_title = get_the_title();
                $link = get_permalink();
                $date = get_the_time('d M Y');
                $comment_count = get_comment_count($wp_query->post->ID);
                $featured_image_id = get_post_thumbnail_id();
                $get_the_excerpt = $excerpt_length > 0 ? '<p>' . wp_html_excerpt(get_the_excerpt(), $excerpt_length) . '...</p>' : "";
                // Create thumbnail image
                $thumbnail_image_output = !empty($featured_image_id) ? get_resized_image_output(array("image_url" => "", "image_id" => $featured_image_id, "w" => $image_width, "h" => $image_height, "crop" => "true", "class" => "posts-image")) : "";
                if (empty($thumbnail_image_output) || !empty($show_thumbnails)) {
                    $thumbnail_image_output = "";
                }
                if ($style == 1) {
                    /**
                     * Output Style 1
                     */
                    $output .= '<article>' . "\n";
                    $output .= sprintf('
					<div class="date">
						<span class="day">%1$s</span>
						<span class="year">%2$s %3$s</span>
					</div>
					' . "\n", get_the_time("d"), get_the_time("M"), get_the_time("y"));
                    $output .= sprintf('
					<div class="text">
						<h5 class="clean_heading"><a class="title" href="%1$s" title="%2$s" rel="bookmark">%2$s</a></h5>
						%3$s
					</div>
					' . "\n", $link, $post_title, $get_the_excerpt);
                    $output .= '</article>' . "\n";
                } else {
                    /**
                     * Output Style 2
                     */
                    $output .= '<article>' . "\n";
                    $output .= !empty($thumbnail_image_output) ? sprintf(' <figure>%1$s</figure> ' . "\n", $thumbnail_image_output) : "";
                    $date = !empty($show_dates) ? '<span class="date">' . get_the_date() . '</span>' : "";
                    $output .= sprintf('
					<div class="text">
						%3$s
						<h5 class="clean_heading"><a class="title" href="%1$s" title="%2$s" rel="bookmark">%2$s</a></h5>						
						%4$s
					</div>
					' . "\n", $link, $post_title, $date, $get_the_excerpt);
                    $output .= '</article>' . "\n";
                }
            }
            //reset post data for the new query
            wp_reset_postdata();
        }
        //create holder html
        $output = !empty($output) ? '<section class="latest_news clearfix style-' . $style . '">' . $output . '</section>' : "";
        return $output;
    }
 /**
  * Product Carousel	
  * returns html ouput of products custom post type for carousel
  * 
  * @param  array   $atts   
  * @return output 
  */
 function rt_products_carousel($atts = array())
 {
     global $rt_product_post_values, $rt_product_list_atts;
     //sanitize fields
     $atts["id"] = isset($atts["id"]) ? sanitize_html_class($atts["id"]) : 'product-dynamicID-' . rand(100000, 1000000);
     //defaults
     $rt_product_list_atts = shortcode_atts(array("id" => 'product-dynamicID-' . rand(100000, 1000000), "list_layout" => "1/3", "nav" => "true", "dots" => "false", "featured_image_resize" => "true", "featured_image_max_width" => 0, "featured_image_max_height" => 0, "featured_image_crop" => "false", "list_orderby" => "date", "list_order" => "DESC", "max_item" => 10, "categories" => "", "ids" => "", "display_descriptions" => "true", "display_titles" => "true", "display_price" => "true", "autoplay" => "false", "timeout" => 5000), $atts);
     extract($rt_product_list_atts);
     //counter
     $counter = 1;
     //create a post status array
     $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
     //general query
     $args = array('post_status' => $post_status, 'post_type' => 'products', 'orderby' => $list_orderby, 'order' => $list_order, 'showposts' => $max_item);
     if (!empty($ids)) {
         $ids = !empty($ids) ? explode(",", trim($ids)) : array();
         $args = array_merge($args, array('post__in' => $ids));
     }
     if (!empty($categories)) {
         $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "product_categories", $wpml_lang));
         $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'product_categories', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
     }
     $wp_query = new WP_Query($args);
     //column count
     $item_width = rt_column_count($list_layout);
     //column class
     $add_column_class = "product_item_holder item product";
     if ($wp_query->have_posts()) {
         $output = array();
         //the loop
         while ($wp_query->have_posts()) {
             $wp_query->the_post();
             //get post values
             $rt_product_post_values = rt_get_product_loop_post_values($wp_query->post, $rt_product_list_atts);
             //selected term list of each post
             $term_list = get_the_terms($wp_query->post->ID, 'product_categories');
             //add terms as class name
             $addTermsClass = "";
             if ($term_list) {
                 if (is_array($term_list)) {
                     foreach ($term_list as $termSlug) {
                         $addTermsClass .= " " . $termSlug->slug;
                     }
                 }
             }
             ob_start();
             echo '<div class="' . $add_column_class . ' ' . $addTermsClass . '">' . "\n";
             get_template_part('product-contents/loop', 'content');
             echo '</div>' . "\n";
             $output[] .= ob_get_contents();
             ob_end_clean();
             $counter++;
         }
         //reset post data for the new query
         wp_reset_postdata();
         //carousel atts
         $atts = array("id" => sanitize_html_class($id), "item_width" => $item_width, "class" => "product-carousel", "nav" => $nav, "dots" => $dots, "autoplay" => $autoplay, "timeout" => $timeout);
         //create carousel
         return rt_create_carousel($output, $atts);
     }
 }
 /**
  * Product Loop
  * @param  array $wp_query
  * @param  array $atts   
  * @return output           
  */
 function rt_product_post_loop($wp_query = array(), $atts = array())
 {
     global $rt_product_post_values, $rt_product_list_atts;
     //sanitize fields
     $atts["id"] = isset($atts["id"]) ? sanitize_html_class($atts["id"]) : 'product-dynamicID-' . rand(100000, 1000000);
     //defaults
     $rt_product_list_atts = shortcode_atts(array("id" => 'product-dynamicID-' . rand(100000, 1000000), "list_layout" => get_theme_mod(RT_THEMESLUG . '_product_layout'), "layout_style" => get_theme_mod(RT_THEMESLUG . '_product_layout_style'), "pagination" => "true", "ajax_pagination" => "false", "featured_image_resize" => get_theme_mod(RT_THEMESLUG . "_product_image_resize"), "featured_image_max_width" => get_theme_mod(RT_THEMESLUG . "_product_image_width"), "featured_image_max_height" => get_theme_mod(RT_THEMESLUG . "_product_image_height"), "featured_image_crop" => get_theme_mod(RT_THEMESLUG . "_product_image_crop"), "list_orderby" => "date", "list_order" => "DESC", "item_per_page" => 10, "categories" => "", "ajax" => "false", "paged" => 0, "wpml_lang" => "", "display_descriptions" => "true", "display_titles" => "true", "display_price" => get_theme_mod(RT_THEMESLUG . "_show_price_in_list"), "ids" => ""), $atts);
     extract($rt_product_list_atts);
     $wp_reset_postdata = false;
     //counter
     $counter = 1;
     //custom query
     if (!$wp_query) {
         //paged
         if ($pagination !== "false" && $paged == 0) {
             if (get_query_var('paged')) {
                 $paged = get_query_var('paged');
             } elseif (get_query_var('page')) {
                 $paged = get_query_var('page');
             } else {
                 $paged = 1;
             }
         }
         //create a post status array
         $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
         //general query
         $args = array('post_status' => $post_status, 'post_type' => 'products', 'orderby' => $list_orderby, 'order' => $list_order, 'posts_per_page' => $item_per_page, 'paged' => $paged);
         if (!empty($ids)) {
             $ids = !empty($ids) ? explode(",", trim($ids)) : array();
             $args = array_merge($args, array('post__in' => $ids));
         }
         if (!empty($categories)) {
             $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "product_categories", $wpml_lang));
             $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'product_categories', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
         }
         $wp_query = new WP_Query($args);
         $wp_reset_postdata = true;
     }
     //get page & post counts
     $post_count = $wp_query->post_count;
     $page_count = $wp_query->max_num_pages;
     //item width percentage
     $list_layout = !empty($list_layout) ? $list_layout : "1/3";
     //layout style
     $add_holder_class = $list_layout == "1/1" ? "" : ($layout_style == "grid" ? " border_grid fixed_heights" : " masonry");
     //column class
     $add_column_class = "product_item_holder ";
     $add_column_class .= rt_column_class($list_layout);
     $add_column_class .= $layout_style == "masonry" ? " isotope-item" : "";
     //column count
     $column_count = rt_column_count($list_layout);
     if ($wp_query->have_posts()) {
         //open the wrapper
         echo "\n" . '<div id="' . $id . '" class="product_holder product-showcase clearfix ' . $add_holder_class . '" data-column-width="' . $column_count . '" itemscope itemtype="http://schema.org/Product">' . "\n";
         //the loop
         while ($wp_query->have_posts()) {
             $wp_query->the_post();
             //get post values
             $rt_product_post_values = rt_get_product_loop_post_values($wp_query->post, $rt_product_list_atts);
             //selected term list of each post
             $term_list = get_the_terms($wp_query->post->ID, 'product_categories');
             //add terms as class name
             $addTermsClass = "";
             if ($term_list) {
                 if (is_array($term_list)) {
                     foreach ($term_list as $termSlug) {
                         $addTermsClass .= " " . $termSlug->slug;
                     }
                 }
             }
             //open row block
             if ($layout_style != "masonry" && $list_layout != "1/1" && ($counter % $column_count == 1 || $column_count == 1)) {
                 echo '<div class="row clearfix">' . "\n";
             }
             echo $list_layout != "1/1" ? '<div class="col ' . $add_column_class . ' ' . $addTermsClass . '">' . "\n" : "";
             get_template_part('product-contents/loop', 'content');
             echo $list_layout != "1/1" ? '</div>' . "\n" : "";
             //close row block
             if ($layout_style != "masonry" && $list_layout != "1/1" && ($counter % $column_count == 0 || $post_count == $counter)) {
                 echo '</div>' . "\n";
             }
             $counter++;
         }
         //close wrapper
         echo '</div>' . "\n";
         if ($pagination !== "false" && $ajax_pagination === "false" || $pagination !== "false" && $layout_style != "masonry") {
             rt_get_pagination($wp_query);
         }
         if ($ajax_pagination !== "false" && $layout_style == "masonry" && $page_count > 1 && $ajax === "false") {
             $rt_product_list_atts["purpose"] = "products";
             rt_get_ajax_loader_button($rt_product_list_atts, $page_count);
         }
     }
     //reset post data for the new query
     if ($wp_reset_postdata) {
         wp_reset_postdata();
     }
 }
 /**
  * Woo Products
  * @param  array   $wp_query
  * @param  array   $atts   
  * @return output           
  */
 function rt_woo_products($atts = array())
 {
     //sanitize fields
     $atts["id"] = isset($atts["id"]) ? sanitize_html_class($atts["id"]) : 'product-dynamicID-' . rand(100000, 1000000);
     //defaults
     $rt_product_list_atts = shortcode_atts(array("id" => 'product-dynamicID-' . rand(100000, 1000000), "list_layout" => "1/3", "pagination" => "true", "list_orderby" => "date", "list_order" => "DESC", "item_per_page" => 10, "categories" => "", "paged" => 0, "ids" => ""), $atts);
     extract($rt_product_list_atts);
     //counter
     $counter = 1;
     //paged
     if ($pagination && $paged == 0) {
         if (get_query_var('paged')) {
             $paged = get_query_var('paged');
         } elseif (get_query_var('page')) {
             $paged = get_query_var('page');
         } else {
             $paged = 1;
         }
     }
     //create a post status array
     $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
     //general query
     $args = array('post_status' => $post_status, 'post_type' => 'product', 'orderby' => $list_orderby, 'order' => $list_order, 'posts_per_page' => $item_per_page, 'ignore_sticky_posts' => 1, 'paged' => $paged, 'meta_query' => array(array('key' => '_visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN')));
     if (!empty($ids)) {
         $ids = !empty($ids) ? explode(",", trim($ids)) : array();
         $args = array_merge($args, array('post__in' => $ids));
     }
     if (!empty($categories)) {
         $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "product_cat"));
         $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'product_cat', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
     }
     $wp_query = new WP_Query($args);
     //get page & post counts
     $post_count = $wp_query->post_count;
     $page_count = $wp_query->max_num_pages;
     //item width percentage
     $list_layout = !empty($list_layout) ? $list_layout : "1/3";
     //layout style
     $add_holder_class = $list_layout == "1/1" ? "" : " border_grid fixed_heights";
     //column class
     $add_column_class = "product_item_holder ";
     $add_column_class .= rt_column_class($list_layout);
     //column count
     $column_count = rt_column_count($list_layout);
     //output
     $output = "";
     if ($wp_query->have_posts()) {
         //open the wrapper
         $output .= "\n" . '<div id="' . $id . '" class="woocommerce product_holder product-showcase clearfix ' . $add_holder_class . '" data-column-width="' . $column_count . '" itemscope itemtype="http://schema.org/Product">' . "\n";
         //the loop
         while ($wp_query->have_posts()) {
             $wp_query->the_post();
             //open row block
             if ($list_layout != "1/1" && ($counter % $column_count == 1 || $column_count == 1)) {
                 $output .= '<div class="row clearfix">' . "\n";
             }
             $output .= $list_layout != "1/1" ? '<div class="col ' . $add_column_class . '">' . "\n" : "";
             ob_start();
             get_template_part('woocommerce/shortcode-content', 'product');
             $output .= ob_get_contents();
             ob_end_clean();
             $output .= $list_layout != "1/1" ? '</div>' . "\n" : "";
             //close row block
             if ($list_layout != "1/1" && ($counter % $column_count == 0 || $post_count == $counter)) {
                 $output .= '</div>' . "\n";
             }
             $counter++;
         }
         //reset post data for the new query
         wp_reset_postdata();
         //close wrapper
         $output .= '</div>' . "\n";
         if ($pagination !== "false") {
             $output .= rt_get_pagination($wp_query, 8, false, false, false);
         }
         return $output;
     }
 }
 /**
  * Testimonanials
  * @param  array $atts
  * @param  string $content
  * @return output
  */
 function rt_testimonials($atts, $content = null)
 {
     global $client_images;
     //counter
     $counter = 1;
     //defaults
     extract(shortcode_atts(array("id" => 'testimonial-' . rand(100000, 1000000), "class" => '', "list_layout" => "1/1", "ids" => array(), "item_per_page" => 9, "list_orderby" => "date", "list_order" => "DESC", "pagination" => "false", "style" => "left", "client_images" => "true", "categories" => ""), $atts));
     //product id numbders
     $ids = !empty($ids) ? explode(",", trim($ids)) : array();
     //item width percentage
     $list_layout = !empty($list_layout) ? $list_layout : "1/3";
     //row count
     $column_count = rt_column_count($list_layout);
     //paged
     if ($pagination !== "false") {
         if (get_query_var('paged')) {
             $paged = get_query_var('paged');
         } elseif (get_query_var('page')) {
             $paged = get_query_var('page');
         } else {
             $paged = 1;
         }
     } else {
         $paged = 0;
     }
     //create a post status array
     $post_status = is_user_logged_in() ? array('private', 'publish') : "publish";
     //general query
     $args = array('post_status' => $post_status, 'post_type' => 'testimonial', 'orderby' => $list_orderby, 'order' => $list_order, 'posts_per_page' => $item_per_page, 'paged' => $paged);
     if (!empty($ids)) {
         $args = array_merge($args, array('post__in' => $ids));
     }
     if (!empty($categories)) {
         $categories = is_array($categories) ? $categories : explode(",", rt_wpml_lang_object_ids($categories, "testimonial_categories"));
         $args = array_merge($args, array('tax_query' => array(array('taxonomy' => 'testimonial_categories', 'field' => 'id', 'terms' => $categories, 'operator' => "IN"))));
     }
     ob_start();
     $theQuery = new WP_Query($args);
     //get page & post counts
     $post_count = $theQuery->post_count;
     //add additional classes
     $class .= " " . $style;
     //column class
     $add_column_class = rt_column_class($list_layout);
     //id attr
     $id_attr = !empty($id) ? 'id="' . sanitize_html_class($id) . '"' : "";
     echo '<section ' . $id_attr . ' class="border_grid testimonials clearfix ' . $class . ' " data-column-width="' . $column_count . '">';
     while ($theQuery->have_posts()) {
         $theQuery->the_post();
         //add first last classes if filterable is off
         $add_class = "";
         if ($counter % $column_count == 1 || $column_count == 1) {
             $add_class .= " first";
         }
         if (($counter % $column_count == 0 || $post_count == $counter) && $add_class == "") {
             $add_class .= " last";
         }
         //post class
         $add_class .= " " . implode(get_post_class("loop"), " ");
         //open row block
         if ($counter % $column_count == 1 || $column_count == 1) {
             echo '<div class="row">';
         }
         printf('<div id="%s" class="testimonial col %s %s">' . "\n", get_the_ID(), $add_column_class, $add_class);
         get_template_part('testimonial-contents/content');
         echo '</div>' . "\n";
         //close row block and add hr
         if ($counter % $column_count == 0 || $post_count == $counter) {
             echo '</div>';
         }
         $counter++;
     }
     echo '</section>';
     if ($pagination !== "false") {
         rt_get_pagination($theQuery);
     }
     wp_reset_postdata();
     $output_string = ob_get_contents();
     ob_end_clean();
     return $output_string;
 }