Esempio n. 1
0
function dhwl_woo_setting_field_id($settings, $value, $dependency = '')
{
    if (empty($value)) {
        $value = dtwl_woo_get_id();
    }
    return '<input name="' . $settings['param_name'] . '" class="wpb_vc_param_value dtwl-woo-param-value wpb-textinput" type="hidden" value="' . $value . '"/>';
}
Esempio n. 2
0
    public function dtwoo_tabs_sc($atts, $content)
    {
        $rt = rand() . time();
        $html = '';
        extract(shortcode_atts(array('heading' => '', 'heading_color' => '#ffffff', 'heading_font_size' => '15px', 'display_type' => '', 'tabs_left_banner' => '', 'banner_url' => '', 'template' => 'grid', 'query_types' => 'category', 'categories' => '', 'tags' => '', 'tabs_orderby' => 'recent,featured_product,top_rate,best_selling,on_sale', 'orderby' => 'recent', 'row' => 2, 'col' => 4, 'number_load' => 4, 'number_display' => 4, 'number_limit' => 8, 'speed' => 300, 'dots' => 'false', 'main_color' => '#ff4800', 'hover_thumbnail' => '0', 'thumbnail_background_color' => '#ffffff', 'thumbnail_border_style' => 'none', 'thumbnail_border_color' => '#e1e1e1', 'thumbnail_border_width' => '1px', 'thumbnail_border_radius' => '0px', 'thumbnail_padding' => '', 'thumbnail_margin' => '', 'show_rating' => '1', 'loadmore_text' => 'Load more', 'loaded_text' => 'All products loaded', 'loadmore_border_style' => 'solid', 'loadmore_border_color' => '#eaeaea', 'loadmore_border_width' => '3px', 'loadmore_border_radius' => '0px', 'el_class' => ''), $atts));
        /*
         * enqueue library
         */
        switch ($template) {
            case 'carousel':
                wp_enqueue_style('dtwl-woo-slick');
                wp_enqueue_style('dtwl-woo-slick-theme');
                wp_enqueue_script('dtwl-woo-slick');
                break;
            case 'masonry':
                wp_enqueue_script('dtwl-woo-imagesloaded');
                wp_enqueue_script('dtwl-woo-isotope');
                break;
            default:
                break;
        }
        $id = dtwl_woo_get_id();
        $template_part = '';
        // Inline style
        $inline_style = '
		#' . $id . ' {
		}
		#' . $id . ' .dtwl-woo-heading .dtwl-heading{
			background-color: ' . $main_color . ';
		}
		#' . $id . ' .dtwl-woo-heading:before{
			background-color: ' . $main_color . ';
		}
		#' . $id . ' .dtwl-heading {
			color:' . $heading_color . ';
			font-size:' . $heading_font_size . ';
		}
		#' . $id . ' .dtwl-woo-heading .dtwl-next-prev-wrap a:hover{
			background-color: ' . $main_color . ';
    		border-color: ' . $main_color . ';
		}
			
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li:hover a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.focus a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.active a span{
		  border-color: ' . $main_color . ';
		}
		
		#' . $id . ' .dtwl-woo-images{
			margin: ' . $thumbnail_margin . ';
		}
		#' . $id . ' .dtwl-woo-product-image img{
			border-style:' . $thumbnail_border_style . ';
			border-width:' . $thumbnail_border_width . ';
			border-color:' . $thumbnail_border_color . ';
			border-radius:' . $thumbnail_border_radius . ';
			-webkit-border-radius:' . $thumbnail_border_radius . ';
			padding:' . $thumbnail_padding . ';
		}
		#' . $id . ' .dtwl-woo-loadmore-wrap .dtwl-woo-loadmore{
			border-style:' . $loadmore_border_style . ';
			border-width:' . $loadmore_border_width . ';
			border-color:' . $loadmore_border_color . ';
			border-radius:' . $loadmore_border_radius . ';
			-webkit-border-radius:' . $loadmore_border_radius . ';
		}
		#' . $id . ' .dtwl-woo-loadmore-wrap .dtwl-woo-loadmore.loaded{
			border-color:' . $main_color . ';
		}
		#' . $id . ' .dtwl-woo-loadmore-wrap .dtwl-woo-loadmore .dtwl-navloading .dtwl-navloader{
			border-left-color:' . $main_color . ';
		}
		#' . $id . ' .dtwl-woo-loadmore-wrap .dtwl-woo-loadmore .dtwl-navloading .dtwl-navloader{
			border-left-color:' . $main_color . ';
		}
		#' . $id . ' .dtwl-woo-filter-ajax-loading .dtwl-woo-fade-loading i{
			background: none repeat scroll 0 0 ' . $main_color . ';
		}
		';
        if ($template == 'carousel') {
            $inline_style .= '#' . $id . ' .slick-dots li button:before{color: ' . $main_color . ';}
			
			';
        }
        // Hide star-rating
        if ($show_rating == '0') {
            $inline_style .= '#' . $id . '.dtwl-woo .star-rating{display:none;}';
        }
        $html .= '<style type="text/css">' . $inline_style . '</style>';
        // Class
        $class = 'dtwl-woo dtwl-woo-product-tabs woocommerce dtwl-woo-template-' . esc_attr($template);
        if ($template == 'carousel') {
            $class .= ' dtwl-pre-load';
        }
        $class .= esc_attr($el_class);
        $tab_nav_class = '';
        $tab_content_class = '';
        switch ($display_type) {
            case 'tabs_left':
                $tab_nav_class = 'dtwl-woo-col-sm-3';
                $tab_content_class = 'dtwl-woo-col-sm-9';
                $class .= ' dtwl-woo-row-fluid';
                break;
            default:
                break;
        }
        // Array tabs title
        $tab_titles = dtwl_get_list_tab_title($query_types, $categories, $tags, $tabs_orderby);
        if (empty($tab_titles)) {
            return;
        }
        // Get products
        if ($template == 'grid' && $display_type == '') {
            $number_query = $row * $col;
        } elseif ($display_type == 'tabs_left') {
            $number_query = $number_limit;
            // carousel, masonry limit
        } else {
            $number_query = $number_limit;
            // carousel, masonry limit
        }
        if ($query_types == 'category') {
            if (!empty($categories)) {
                $tabs = explode(',', $categories);
            } else {
                $tabs = dtwl_get_cats();
            }
        } else {
            if ($query_types == 'tags') {
                if (!empty($tags)) {
                    $tabs = explode(',', $tags);
                } else {
                    $tabs = dtwl_get_tags();
                }
            } else {
                // Tab type orderby
                $orderby = '';
                $tabs = explode(',', $tabs_orderby);
            }
        }
        ob_start();
        ?>
		<div id="<?php 
        echo $id;
        ?>
" class="<?php 
        echo $class . ' ' . $display_type;
        ?>
">
			<div class="dtwl-woo-heading">
				<?php 
        if (!empty($heading)) {
            ?>
				<h2 class="dtwl-heading"><?php 
            echo esc_html($heading);
            ?>
</h2>
				<?php 
        }
        ?>
				<?php 
        if ($display_type == 'tabs_left') {
            ?>
				<div class="dtwl-next-prev-wrap" data-offset-def="<?php 
            echo esc_attr($number_query);
            ?>
">
					<a href="#" class="dtwl-ajax-prev-page ajax-page-disabled" data-offset="0" data-current-page="1"><i class="fa fa-chevron-left"></i></a>
					<a href="#" class="dtwl-ajax-next-page" data-offset="<?php 
            echo esc_attr($number_query);
            ?>
" data-current-page="1"><i class="fa fa-chevron-right"></i></a>
				</div>
				<?php 
        }
        ?>
			</div>
			<div class="dtwl-nav-tabs-wapper <?php 
        echo $tab_nav_class;
        ?>
">
				<div class="dtwl-woo-filters dtwl-woo-clearfix">
					
					<div class="dtwl-woo-filters-menu">
						<a href="#dtwl-woo-nav-tabs" class="dtwl-inevent-flters"><?php 
        esc_html_e('Categories', DT_WOO_LAYOUTS);
        ?>
</a>
					</div>
					<ul id="dtwl-woo-nav-tabs" class="dtwl-woo-nav-tabs gfont" data-option-key="filter">
						<?php 
        if ($template == 'masonry') {
            ?>
								<li class="dtwl-nav-item first"><a href="#" class="dtwl-woo-masonry-filter" data-option-value="*"><span><?php 
            echo esc_html__('All', DT_WOO_LAYOUTS);
            ?>
</span></a></li>
								<?php 
            foreach ($tab_titles as $tab) {
                ?>
								<li class="dtwl-nav-item"><span>/</span><a href="#" class="dtwl-woo-masonry-filter" data-option-value=".<?php 
                echo esc_attr($tab['name']);
                ?>
"><span><?php 
                echo esc_html($tab['short_title']);
                ?>
</span></a></li>
								<?php 
            }
        } else {
            // templage carousel - grid
            $data_tab = array();
            if ($query_types !== 'orderby') {
                foreach ($tab_titles as $tab) {
                    array_push($data_tab, $tab['name']);
                }
            }
            if (!empty($data_tab)) {
                $data_tab = implode(',', $data_tab);
            } else {
                $data_tab = '';
            }
            ?>
							<li class="dtwl-nav-item first">
								<a href="#" class="tab-intent" title="<?php 
            echo esc_html__('All', DT_WOO_LAYOUTS);
            ?>
"
									data-wrap-id		= "<?php 
            echo esc_attr($id);
            ?>
"
									data-display_type	= "<?php 
            echo esc_attr($display_type);
            ?>
"
									data-query_types	= "<?php 
            echo esc_attr($query_types);
            ?>
"
									data-tab			= "<?php 
            echo esc_attr($data_tab);
            ?>
"
									data-orderby		= "<?php 
            echo esc_attr($orderby);
            ?>
"
									data-number_query	= "<?php 
            echo esc_attr($number_query);
            ?>
"
									data-number_load	= "<?php 
            echo esc_attr($number_load);
            ?>
"
									data-number_display = "<?php 
            echo esc_attr($number_display);
            ?>
"
									data-template		= "<?php 
            echo esc_attr($template);
            ?>
"
									data-speed			= "<?php 
            echo esc_attr($speed);
            ?>
"
									data-dots			= "<?php 
            echo esc_attr($dots);
            ?>
"
									data-col			= "<?php 
            echo esc_attr($col);
            ?>
"
									data-loadmore_text	= "<?php 
            echo esc_html($loadmore_text);
            ?>
"
									data-loaded_text	= "<?php 
            echo esc_html($loaded_text);
            ?>
"
									data-hover_thumbnail	= "<?php 
            echo esc_attr($hover_thumbnail);
            ?>
"
									><span><?php 
            echo esc_html__('All', DT_WOO_LAYOUTS);
            ?>
</span>
								</a>
							</li>
							<?php 
            foreach ($tab_titles as $tab) {
                ?>
								<li class="dtwl-nav-item"><span>/</span>
									<a href="#" class="tab-intent" title="<?php 
                echo esc_attr($tab['title']);
                ?>
"
										data-wrap-id		= "<?php 
                echo esc_attr($id);
                ?>
"
										data-display_type	= "<?php 
                echo esc_attr($display_type);
                ?>
"
										data-query_types	= "<?php 
                echo esc_attr($query_types);
                ?>
"
										data-tab			= "<?php 
                echo esc_attr($tab['name']);
                ?>
"
										data-orderby		= "<?php 
                echo esc_attr($orderby);
                ?>
"
										data-number_query	= "<?php 
                echo esc_attr($number_query);
                ?>
"
										data-number_load	= "<?php 
                echo esc_attr($number_load);
                ?>
"
										data-number_display = "<?php 
                echo esc_attr($number_display);
                ?>
"
										data-template		= "<?php 
                echo esc_attr($template);
                ?>
"
										data-speed			= "<?php 
                echo esc_attr($speed);
                ?>
"
										data-dots			= "<?php 
                echo esc_attr($dots);
                ?>
"
										data-col			= "<?php 
                echo esc_attr($col);
                ?>
"
										data-loadmore_text	= "<?php 
                echo esc_html($loadmore_text);
                ?>
"
										data-loaded_text	= "<?php 
                echo esc_html($loaded_text);
                ?>
"
										data-hover_thumbnail	= "<?php 
                echo esc_attr($hover_thumbnail);
                ?>
"
										><span><?php 
                echo esc_html($tab['short_title']);
                ?>
</span>
									</a>
								</li>
								
								<?php 
            }
        }
        ?>
					</ul>
				</div>
				<?php 
        if ($display_type == 'tabs_left' && $tabs_left_banner) {
            ?>
				<div class="dtwl-woo-tabs-banner">
					<?php 
            $baner_html = '';
            if (!empty($banner_url)) {
                $baner_html .= '<a href="' . esc_url($banner_url) . '" target="blank">';
                $baner_html .= wp_get_attachment_image($tabs_left_banner, 'shop_catalog');
                $baner_html .= '</a>';
            } else {
                $baner_html .= wp_get_attachment_image($tabs_left_banner, 'shop_catalog');
            }
            echo $baner_html;
            ?>
				</div>
				<?php 
        }
        ?>
			</div> <!-- /.dtwl-nav-tabs-wapper -->
			
			<?php 
        /*
         * Product tabs template: grid - carousel
         */
        if ($template == 'grid' || $template == 'carousel') {
            ?>
				<div class="dtwl-woo-tab-content <?php 
            echo $tab_content_class;
            ?>
">
					<div class="dtwl-woo-filter-ajax-loading">
					<div class="dtwl-woo-fade-loading"><i></i><i></i><i></i><i></i></div>
					</div>
					<div class="dhwl-template-tab-content">
					<?php 
            $tab_args = array('display_type' => $display_type, 'wrap_id' => $id, 'query_types' => $query_types, 'tab' => $data_tab, 'orderby' => $orderby, 'number_query' => $number_query, 'number_load' => $number_load, 'number_display' => $number_display, 'template' => $template, 'speed' => $speed, 'dots' => $dots, 'col' => $col, 'loadmore_text' => esc_html($loadmore_text), 'loaded_text' => esc_html($loaded_text), 'hover_thumbnail' => $hover_thumbnail);
            wc_get_template('tpl-tab.php', array('tab_args' => $tab_args), DT_WOO_LAYOUTS_DIR . 'templates/', DT_WOO_LAYOUTS_DIR . 'templates/');
            ?>
					</div><!-- /.dhwl-template-tab-content -->
				</div><!-- /.dtwl-woo-tab-content -->
				<script>
					jQuery(document).ready(function($){
						// Only handle preload for template is carousel
						$('#<?php 
            echo $id;
            ?>
.dtwl-woo-template-carousel').removeClass('dtwl-pre-load');
						// Tab
						$('#<?php 
            echo $id;
            ?>
 .dtwl-woo-nav-tabs').find("li").first().addClass("active");
						
						// Handle click
						$('#<?php 
            echo $id;
            ?>
 .dtwl-woo-nav-tabs > li').click(function(e){
							e.preventDefault();
							if( !$(this).hasClass('active') ){
								id = $(this).find('a').attr('href');
								// Tab
								$('#<?php 
            echo $id;
            ?>
 .dtwl-woo-nav-tabs li').removeClass('active');
								$(this).addClass('active');
								return false;
							}
						});
				   	});
				</script>
			<?php 
        } elseif ($template == 'masonry') {
            ?>
					<div class="dtwl-woo-mansory-list dtwl-woo-row-fluid dtwl-woo-products dtwl-woo-product-list">
						<?php 
            foreach ($tabs as $tab) {
                $loop = dhwl_woo_tabs_query($query_types, $tab, $orderby, $number_query);
                $this->masonry_template($loop, $col, $tab, $hover_thumbnail);
            }
            ?>
					</div>
			<?php 
        }
        ?>
			</div>
			
			<?php 
        $html .= ob_get_clean();
        // 			wp_reset_postdata();
        return $html;
    }
Esempio n. 3
0
    public function dtwoo_products_sc($atts, $content)
    {
        $rt = rand() . time();
        $html = '';
        extract(shortcode_atts(array('heading' => '', 'heading_color' => '#363230', 'heading_font_size' => '20px', 'template' => 'grid', 'switch_template' => 'yes', 'col' => 4, 'categories' => '', 'tags' => '', 'orderby' => 'recent', 'order' => 'DESC', 'posts_per_page' => 10, 'dt_filter_sidebar' => '0', 'page_navigation' => 'woo_pagination', 'main_color' => '#ff4800', 'thumbnail_background_color' => '#ffffff', 'thumbnail_border_style' => 'none', 'thumbnail_border_color' => '#e1e1e1', 'thumbnail_border_width' => '1px', 'thumbnail_border_radius' => '0px', 'thumbnail_padding' => '', 'thumbnail_margin' => '', 'show_rating' => '1', 'hover_thumbnail' => '0', 'el_class' => ''), $atts));
        $id = dtwl_woo_get_id();
        $template_part = '';
        $woo_products_pagination = $page_navigation ? $page_navigation : 'woo_pagination';
        // Inline style
        $inline_style = '
		#' . $id . ' {
		}
		
		#' . $id . ' .dtwl-heading {
			color:' . $heading_color . ';
			font-size:' . $heading_font_size . ';
		}
		
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li:hover a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.focus a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.active a span{
		  border-color: ' . $main_color . ';
		}
		
		#' . $id . ' .dtwl-woo-images{
			margin: ' . $thumbnail_margin . ';
		}
		#' . $id . ' .dtwl-woo-product-image img{
			border-style:' . $thumbnail_border_style . ';
			border-width:' . $thumbnail_border_width . ';
			border-color:' . $thumbnail_border_color . ';
			border-radius:' . $thumbnail_border_radius . ';
			-webkit-border-radius:' . $thumbnail_border_radius . ';
			padding:' . $thumbnail_padding . ';
		}
		';
        // Hide star-rating
        if ($show_rating == '0') {
            $inline_style .= '#' . $id . '.dtwl-woo .star-rating{display:none;}';
        }
        $html .= '<style type="text/css">' . $inline_style . '</style>';
        global $woocommerce, $product;
        $orderby = sanitize_title($orderby);
        $order = sanitize_title($order);
        if (is_front_page()) {
            $paged = get_query_var('page') ? get_query_var('page') : 1;
        } else {
            $paged = get_query_var('paged') ? get_query_var('paged') : 1;
        }
        $query_args = array('paged' => $paged, 'posts_per_page' => absint($posts_per_page), 'post_status' => 'publish', 'post_type' => 'product', 'order' => $order == 'asc' ? 'ASC' : 'DESC');
        $category_array = array();
        if (!empty($categories)) {
            $category_array = array_filter(explode(',', $categories));
            if (!empty($category_array)) {
                $query_args['tax_query'][] = array('taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $category_array, 'operator' => 'IN');
            }
        }
        $tags_array = array();
        if (!empty($tags)) {
            $tags_array = array_filter(explode(',', $tags));
            if (!empty($tags_array)) {
                $query_args['tax_query'][] = array('taxonomy' => 'product_tag', 'field' => 'slug', 'terms' => $tags_array, 'operator' => 'IN');
            }
        }
        dhwl_woo_query_orderby($orderby);
        $query_args = apply_filters('dtwl_woo_query_args', $query_args, $atts, $content);
        $query = new WP_Query($query_args);
        // Class
        $class = 'dtwl-woo dtwl-woo-products woocommerce';
        $class .= esc_attr($el_class);
        ob_start();
        ?>
		<div id="<?php 
        echo $id;
        ?>
" class="<?php 
        echo $class;
        ?>
">
			<?php 
        if (!empty($heading)) {
            ?>
			<h2 class="dtwl-heading"><span><?php 
            echo esc_html($heading);
            ?>
</span></h2>
			<?php 
        }
        ?>
			<?php 
        if ($query->have_posts()) {
            ?>
			<?php 
            $mode_view = '';
            if ($switch_template == 'yes') {
                $mode_view = $template;
                if (isset($_COOKIE['dtwl_woo_list_modeview'])) {
                    if ($_COOKIE['dtwl_woo_list_modeview'] == 'dtwl-woo-list') {
                        $mode_view = 'list';
                    } elseif ($_COOKIE['dtwl_woo_list_modeview'] == 'dtwl-woo-grid') {
                        $mode_view = 'grid';
                    }
                }
                ?>
			<div class="dtwl-toolbar">
				<div class="dtwl-woo-switch_template">
					<a href="#" class="dtwl-woo-mode-view dtwl-woo-grid <?php 
                echo $mode_view == 'grid' ? 'active' : '';
                ?>
" data-mode-view="dtwl-woo-grid" title="<?php 
                esc_attr_e('Grid', DT_WOO_LAYOUTS);
                ?>
">
						<i class="fa fa-th"></i>
						<span><?php 
                esc_html_e('Grid', DT_WOO_LAYOUTS);
                ?>
</span>
					</a>
					<a href="#" class="dtwl-woo-mode-view dtwl-woo-list <?php 
                echo $mode_view == 'list' ? 'active' : '';
                ?>
" data-mode-view="dtwl-woo-list" title="<?php 
                esc_attr_e('List', DT_WOO_LAYOUTS);
                ?>
">
						<i class="fa fa-th-list"></i>
						<span><?php 
                esc_html_e('List', DT_WOO_LAYOUTS);
                ?>
</span>
					</a>
				</div>
			</div>
			<?php 
            }
            ?>
			<?php 
            $dt_ul_product_class = '';
            if ($woo_products_pagination == 'ajax') {
                $dt_ul_product_class = 'loadmore-wrap';
            } elseif ($woo_products_pagination == 'infinite_scroll') {
                $dt_ul_product_class = 'infinite-scroll-wrap';
            }
            ?>
			
			<div class="dtwl-woo-prdlist-content">
				<div class="dtwl-woo-content" data-msgtext="<?php 
            esc_attr_e('Loading products', DT_WOO_LAYOUTS);
            ?>
" data-finished="<?php 
            esc_attr_e('All products loaded', 'woow');
            ?>
" data-contentselector=".dtwl-woo-content ul.dtwl-woo-products" data-paginate="<?php 
            echo esc_attr($woo_products_pagination);
            ?>
"  data-itemselector=".dtwl-woo-content li.product">
					<div class="dtwl-woo-shop-loop-wrap <?php 
            echo $dt_ul_product_class;
            ?>
">
						<ul id="dtwl-woo-prdlist" class="dtwl-woo-products dtwl-woo-product-list dtwl-woo-<?php 
            echo $mode_view;
            ?>
 dtwl-woo-row-fluid" data-maxpage="<?php 
            echo absint($query->max_num_pages);
            ?>
">
							<?php 
            while ($query->have_posts()) {
                $query->the_post();
                wc_get_template('item-content-product.php', array('grid_columns' => absint($col), 'hover_thumbnail' => $hover_thumbnail), DT_WOO_LAYOUTS_DIR . 'templates/', DT_WOO_LAYOUTS_DIR . 'templates/');
            }
            ?>
						</ul>
						<?php 
            /*
             * Page navigation
             */
            $max_num_pages = $GLOBALS['wp_query']->max_num_pages;
            if (!empty($query)) {
                $max_num_pages = $query->max_num_pages;
            }
            // Don't print empty markup if there's only one page.
            if ($max_num_pages < 2) {
                return;
            } else {
                switch ($woo_products_pagination) {
                    case 'ajax':
                        ?>
											<nav class="dtwl-navigation-ajax" role="navigation">
												<a href="javascript:void(0)"
												data-cat	= "<?php 
                        echo esc_attr($categories);
                        ?>
"
												data-tags	= "<?php 
                        echo esc_attr($tags);
                        ?>
"
												data-orderby	= "<?php 
                        echo esc_attr($orderby);
                        ?>
"
												data-order	= "<?php 
                        echo esc_attr($order);
                        ?>
"
												data-target ="#<?php 
                        echo $id;
                        ?>
 #dtwl-woo-prdlist"
												data-grid-col="<?php 
                        echo absint($col);
                        ?>
"
												data-hover-thumbnail = "<?php 
                        echo esc_attr($hover_thumbnail);
                        ?>
"
												data-posts-per-page = "<?php 
                        echo absint($posts_per_page);
                        ?>
"
												data-offset = "<?php 
                        echo absint($posts_per_page);
                        ?>
"
												id="dtwl-navigation-ajax" class="dtwl-load-more">
													<span class="dtwl-loadmore-title"><?php 
                        echo esc_html__('Load more', DT_WOO_LAYOUTS);
                        ?>
</span>
													<div class="dtwl-navloading"><div class="dtwl-navloader"></div></div>
												</a>
											</nav>
											<?php 
                        break;
                    case 'infinite_scroll':
                        wp_enqueue_script('dtwl-woo-vendor-infinitescroll');
                        ?>
										<nav class="woocommerce-pagination">
											<div class="paginate">
											<?php 
                        echo paginate_links(apply_filters('woocommerce_pagination_args', array('base' => esc_url_raw(str_replace(999999999, '%#%', remove_query_arg('add-to-cart', get_pagenum_link(999999999, false)))), 'format' => '', 'add_args' => '', 'current' => max(1, get_query_var('paged')), 'total' => $query->max_num_pages, 'prev_text' => '&larr;', 'next_text' => '&rarr;', 'type' => 'list', 'end_size' => 3, 'mid_size' => 3)));
                        ?>
											</div>
										</nav>
										<?php 
                        break;
                    default:
                        ?>
										<nav class="dtwl-woocommerce-pagination">
											<?php 
                        echo paginate_links(apply_filters('woocommerce_pagination_args', array('base' => esc_url_raw(str_replace(999999999, '%#%', remove_query_arg('add-to-cart', get_pagenum_link(999999999, false)))), 'format' => '', 'add_args' => '', 'current' => max(1, get_query_var('paged')), 'total' => $query->max_num_pages, 'prev_text' => '&larr;', 'next_text' => '&rarr;', 'type' => 'list', 'end_size' => 3, 'mid_size' => 3)));
                        ?>
										</nav>
										<?php 
                        break;
                }
            }
            // print navigation
            ?>
					</div>
				</div>
			</div>
			<?php 
        } else {
            wc_get_template('loop/no-products-found.php');
        }
        ?>
		</div>
		<?php 
        $html .= ob_get_clean();
        wp_reset_postdata();
        //wp_reset_query ();
        return $html;
    }
Esempio n. 4
0
    public function dtwoo_product_category_sc($atts, $content)
    {
        $rt = rand() . time();
        $html = '';
        extract(shortcode_atts(array('heading' => 'Category', 'heading_color' => '#363230', 'heading_font_size' => '14px', 'template' => 'grid', 'category' => '', 'orderby' => 'recent', 'order' => 'DESC', 'items_to_show' => 4, 'show_cat_thumbnail' => '1', 'main_color' => '#ff4800', 'hover_thumbnail' => '0', 'thumbnail_background_color' => '#ffffff', 'thumbnail_border_style' => 'none', 'thumbnail_border_color' => '#e1e1e1', 'thumbnail_border_width' => '1px', 'thumbnail_border_radius' => '0px', 'thumbnail_padding' => '', 'thumbnail_margin' => '', 'show_rating' => '1', 'el_class' => ''), $atts));
        $id = dtwl_woo_get_id();
        // Inline style
        $inline_style = '
		#' . $id . ' {
			
		}
		
		#' . $id . ' .dtwl-woo-heading {
			border-color: ' . $main_color . ';
		}
				
		#' . $id . ' .dtwl-heading {
			color:' . $heading_color . ';
			font-size:' . $heading_font_size . ';
			background-color: ' . $main_color . ';
		}
		
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li:hover a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.focus a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.active a span{
		  border-color: ' . $main_color . ';
		}
		
		#' . $id . ' .dtwl-woo-images{
			margin: ' . $thumbnail_margin . ';
		}
		#' . $id . ' .dtwl-woo-product-image img{
			border-style:' . $thumbnail_border_style . ';
			border-width:' . $thumbnail_border_width . ';
			border-color:' . $thumbnail_border_color . ';
			border-radius:' . $thumbnail_border_radius . ';
			-webkit-border-radius:' . $thumbnail_border_radius . ';
			padding:' . $thumbnail_padding . ';
		}
		#' . $id . ' .dtwl-woo-category-thumbnail dtwl-woo-category-title{
			background: ' . $main_color . ';
		}
		#' . $id . ' .dtwl-woo-filter-ajax-loading .dtwl-woo-fade-loading i{
			background: none repeat scroll 0 0 ' . $main_color . ';
		}
		';
        // Hide star-rating
        if ($show_rating == '0') {
            $inline_style .= '#' . $id . '.dtwl-woo .star-rating{display:none;}';
        }
        $html .= '<style type="text/css">' . $inline_style . '</style>';
        // Class
        $class = 'dtwl-woo dtwl-woo-category woocommerce dtwl-woo-category-' . esc_attr($template);
        $class .= esc_attr($el_class);
        if (empty($category)) {
            return;
        }
        global $woocommerce, $product, $wp_the_query;
        $posts_per_page = $items_to_show;
        $orderby = sanitize_title($orderby);
        $order = sanitize_title($order);
        $query_args = array('posts_per_page' => $posts_per_page, 'post_status' => 'publish', 'post_type' => 'product', 'order' => $order == 'asc' ? 'ASC' : 'DESC');
        $query_args['tax_query'][] = array('taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $category, 'operator' => 'IN');
        dhwl_woo_query_orderby($orderby);
        $query_args = apply_filters('dtwl_woo_query_args', $query_args, $atts, $content);
        $p = new WP_Query($query_args);
        // get category thumbnail
        $cat_thumbnail = '';
        if ($show_cat_thumbnail == '1') {
            $cat = get_term_by('slug', $category, 'product_cat');
            $thumbnail_id = get_woocommerce_term_meta($cat->term_id, 'thumbnail_id', true);
            $cat_thumb = wp_get_attachment_image_src($thumbnail_id, 'shop_catalog');
            if (isset($cat_thumb[0]) && $cat_thumb[0] != '') {
                $cat_thumbnail = '1';
            }
        }
        ob_start();
        ?>
		<div id="<?php 
        echo $id;
        ?>
" class="<?php 
        echo $class;
        ?>
">
			<div class="dtwl-woo-heading">
				<h2 class="dtwl-heading"><?php 
        echo esc_html($heading);
        ?>
</h2>
				<div class="dtwl-next-prev-wrap" data-cat="<?php 
        esc_attr_e($category);
        ?>
" data-orderby="<?php 
        esc_attr_e($orderby);
        ?>
" data-order="<?php 
        esc_attr_e($order);
        ?>
" data-posts-per-page="<?php 
        echo absint($items_to_show);
        ?>
" data-hover-thumbnail="<?php 
        echo esc_attr($hover_thumbnail);
        ?>
">
					<a href="#" class="dtwl-ajax-prev-page ajax-page-disabled" data-offset="0" data-current-page="1"><i class="fa fa-chevron-left"></i></a>
					<a href="#" class="dtwl-ajax-next-page" data-offset="<?php 
        echo absint($items_to_show);
        ?>
" data-current-page="1"><i class="fa fa-chevron-right"></i></a>
				</div>
			</div>
			<?php 
        if ($cat_thumbnail == '1') {
            ?>
			<div class="dtwl-woo-category-thumbnail">
				<img src="<?php 
            echo esc_url($cat_thumb[0]);
            ?>
" alt="<?php 
            esc_attr_e($heading);
            ?>
"/>
			</div>
			<?php 
        }
        ?>
			<div class="dtwl-woo-content">
				<div class="dtwl-woo-filter-ajax-loading">
					<div class="dtwl-woo-fade-loading"><i></i><i></i><i></i><i></i></div>
				</div>
				<div class="dtwl-woo-row-fluid dtwl-woo-products dtwl-woo-product-list dtwl-woo-grid">
					<?php 
        while ($p->have_posts()) {
            $p->the_post();
            $class = 'dtwl-woo-item product';
            $column = $items_to_show == 5 ? '15' : absint(12 / $items_to_show);
            $column2 = absint(12 / ($items_to_show - 1));
            $column3 = absint(12 / ($items_to_show - 2));
            $class .= ' dtwl-woo-col-md-' . $column . ' dtwl-woo-col-sm-' . $column2 . ' dtwl-woo-col-xs-' . $column3 . ' dtwl-woo-col-phone-12';
            ?>
						<div class="<?php 
            echo $class;
            ?>
">
							<?php 
            wc_get_template('item-grid.php', array('hover_thumbnail' => $hover_thumbnail), DT_WOO_LAYOUTS_DIR . 'templates/', DT_WOO_LAYOUTS_DIR . 'templates/');
            ?>
						</div>
						<?php 
        }
        ?>
			    </div>
		    </div>
		</div>
			
		<?php 
        $html .= ob_get_clean();
        wp_reset_postdata();
        return $html;
    }
Esempio n. 5
0
    public function dtwoo_slider_sc($atts, $content)
    {
        wp_enqueue_style('dtwl-woo-slick');
        wp_enqueue_style('dtwl-woo-slick-theme');
        wp_enqueue_script('dtwl-woo-slick');
        $rt = rand() . time();
        $html = '';
        extract(shortcode_atts(array('heading' => '', 'heading_color' => '#363230', 'heading_font_size' => '20px', 'categories' => '', 'tags' => '', 'orderby' => 'recent', 'order' => 'ASC', 'pslides_template' => 'def', 'pslides_centerpadding' => '100px', 'pslides_autoplay' => 'true', 'pslides_speed' => 300, 'pslides_margin' => 10, 'pslides_toshow' => 5, 'pslider_limit' => 15, 'pslides_dots' => 'false', 'main_color' => '#ff4800', 'hover_thumbnail' => '0', 'thumbnail_background_color' => '#ffffff', 'thumbnail_border_style' => 'none', 'thumbnail_border_color' => '#e1e1e1', 'thumbnail_border_width' => '1px', 'thumbnail_border_radius' => '0px', 'thumbnail_padding' => '', 'thumbnail_margin' => '', 'show_rating' => '1', 'el_class' => ''), $atts));
        $id = dtwl_woo_get_id();
        $template_part = '';
        // Inline style
        $inline_style = '
		#' . $id . ' {
		}
		
		#' . $id . ' .dtwl-heading {
			color:' . $heading_color . ';
			font-size:' . $heading_font_size . ';
		}
		
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li:hover a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.focus a span,
		#' . $id . '.dtwl-woo-product-tabs .dtwl-woo-filters .dtwl-woo-nav-tabs li.active a span{
		  border-color: ' . $main_color . ';
		}
		
		#' . $id . ' .dtwl-woo-images{
			margin: ' . $thumbnail_margin . ';
		}
		#' . $id . ' .dtwl-woo-product-image img{
			border-style:' . $thumbnail_border_style . ';
			border-width:' . $thumbnail_border_width . ';
			border-color:' . $thumbnail_border_color . ';
			border-radius:' . $thumbnail_border_radius . ';
			-webkit-border-radius:' . $thumbnail_border_radius . ';
			padding:' . $thumbnail_padding . ';
		}
		';
        // custom product slider style
        if ($pslides_template !== 'single_mode') {
            $pslides_margin = (int) $pslides_margin ? (int) $pslides_margin : 10;
            $inline_style .= '#' . $id . '.dtwl-woo-product-slider .slick-slider{
				margin-left: -' . $pslides_margin . 'px;
				margin-right: -' . $pslides_margin . 'px;
			}';
            $inline_style .= '#' . $id . '.dtwl-woo-product-slider .slick-slider .slick-slide{
				margin-left: ' . $pslides_margin . 'px;
				margin-right: ' . $pslides_margin . 'px;
			}';
        }
        // Hide star-rating
        if ($show_rating == '0') {
            $inline_style .= '#' . $id . '.dtwl-woo .star-rating{display:none;}';
        }
        $html .= '<style type="text/css">' . $inline_style . '</style>';
        $number_query = $pslider_limit;
        // Class
        $class = 'dtwl-woo dtwl-woo-product-slider woocommerce template-slider dtwl-woo-' . $pslides_template;
        $class .= ' dtwl-pre-load';
        $class .= esc_attr($el_class);
        ob_start();
        ?>
		<div id="<?php 
        echo $id;
        ?>
" class="<?php 
        echo $class;
        ?>
">
			<?php 
        if (!empty($heading)) {
            ?>
			<h2 class="dtwl-heading"><?php 
            echo esc_html($heading);
            ?>
</h2>
			<?php 
        }
        ?>
			
			<div class="dtwl-woo-slider-content dtwl-woo-products">
				<?php 
        global $woocommerce, $product, $wp_the_query;
        $posts_per_page = $pslider_limit;
        $orderby = sanitize_title($orderby);
        $order = sanitize_title($order);
        $query_args = array('posts_per_page' => $posts_per_page, 'post_status' => 'publish', 'post_type' => 'product', 'order' => $order == 'asc' ? 'ASC' : 'DESC');
        $category_array = array();
        if (!empty($categories)) {
            $category_array = array_filter(explode(',', $categories));
            if (!empty($category_array)) {
                $query_args['tax_query'][] = array('taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => $category_array, 'operator' => 'IN');
            }
        }
        $tags_array = array();
        if (!empty($tags)) {
            $tags_array = array_filter(explode(',', $tags));
            if (!empty($tags_array)) {
                $query_args['tax_query'][] = array('taxonomy' => 'product_tag', 'field' => 'slug', 'terms' => $tags_array, 'operator' => 'IN');
            }
        }
        dhwl_woo_query_orderby($orderby);
        $query_args = apply_filters('dtwl_woo_query_args', $query_args, $atts, $content);
        $p = new WP_Query($query_args);
        $this->slider_template($p, $pslides_template, $hover_thumbnail);
        ?>
				</div><!-- /.dtwl-woo-slider-content -->
				
				<?php 
        $pslides_autoplay = $pslides_autoplay == 'true' ? 'true' : 'false';
        $pslides_toshow = (int) $pslides_toshow ? (int) $pslides_toshow : 3;
        $centerMode = $pslides_template == 'center_mode' ? 'true' : 'false';
        $pslides_dots = $pslides_dots == 'true' ? 'true' : 'false';
        switch ($pslides_template) {
            case 'slider_syncing':
                ?>
						<script>
						jQuery(document).ready(function(){
							var $this = jQuery('#<?php 
                echo $id;
                ?>
.dtwl-woo-product-slider');
							
							jQuery( '#<?php 
                echo $id;
                ?>
 .dtwl-woo-slider-for').slick({
							  slidesToShow: 1,
							  slidesToScroll: 1,
							  arrows: false,
							  fade: true,
							  asNavFor: '#<?php 
                echo $id;
                ?>
  .dtwl-woo-slider-nav'
							});
							jQuery('#<?php 
                echo $id;
                ?>
 .dtwl-woo-slider-nav').slick({
								autoplay: <?php 
                echo esc_attr($pslides_autoplay);
                ?>
,
    							slidesToShow: <?php 
                echo intval($pslides_toshow);
                ?>
,
    							slidesToScroll: 1,
							  	asNavFor: '#<?php 
                echo $id;
                ?>
 .dtwl-woo-slider-for',
							  	dots: <?php 
                echo esc_attr($pslides_dots);
                ?>
,
							  	focusOnSelect: true,
							  	nextArrow: '<div class="dtwl-woo-navslider"><span class="next"><i class="fa fa-chevron-right"></i></span></div>',
								prevArrow: '<div class="dtwl-woo-navslider"><span class="prev"><i class="fa fa-chevron-left"></i></span></div>',
							  	responsive: [
											{
											    breakpoint: 480,
											    settings: {
											      slidesToShow: 3,
											      slidesToScroll: 1,
											      centerMode: false,
											      arrows: false,
											      infinite: false,
											      dots: false
											    }
											  }
											]
							});
							
							jQuery($this).removeClass('dtwl-pre-load');
						});
						</script>
						<?php 
                break;
            case 'single_mode':
                ?>
						<script>
						jQuery(document).ready(function(){
							var $this = jQuery('#<?php 
                echo $id;
                ?>
.dtwl-woo-product-slider'),
							$container = $this.find('.dtwl-woo-slider-content');
							
							jQuery($container).slick({
							  dots: <?php 
                echo esc_attr($pslides_dots);
                ?>
,
							  infinite: true,
							  autoplay: <?php 
                echo esc_attr($pslides_autoplay);
                ?>
,
							  speed: <?php 
                echo intval($pslides_speed);
                ?>
,
							  fade: true,
							  cssEase: 'linear',
							  nextArrow: '<div class="dtwl-woo-navslider"><span class="next"><i class="fa fa-chevron-right"></i></span></div>',
							  prevArrow: '<div class="dtwl-woo-navslider"><span class="prev"><i class="fa fa-chevron-left"></i></span></div>',
							});

							jQuery($this).removeClass('dtwl-pre-load');
						});
						</script>
						<?php 
                break;
            case 'def' || 'center_mode':
                ?>
	    				<script>
    							jQuery(document).ready(function(){
    								var $this = jQuery('#<?php 
                echo $id;
                ?>
.dtwl-woo-product-slider'),
    								$container = $this.find('.dtwl-woo-slider-content');
    								
    								jQuery($container).slick({
    									dots: <?php 
                echo esc_attr($pslides_dots);
                ?>
,
    									infinite: true,
    									speed: <?php 
                echo intval($pslides_speed);
                ?>
,
    									adaptiveHeight: true,
    									centerMode: <?php 
                echo esc_attr($centerMode);
                ?>
,
    									centerPadding: '<?php 
                echo esc_attr($pslides_centerpadding);
                ?>
',
    									autoplay: <?php 
                echo esc_attr($pslides_autoplay);
                ?>
,
    									slidesToShow: <?php 
                echo intval($pslides_toshow);
                ?>
,
    									slidesToScroll: 1,
    									nextArrow: '<div class="dtwl-woo-navslider"><span class="next"><i class="fa fa-chevron-right"></i></span></div>',
    									prevArrow: '<div class="dtwl-woo-navslider"><span class="prev"><i class="fa fa-chevron-left"></i></span></div>',
    									responsive: [
    									             {
    									               breakpoint: 1024,
    									               settings: {
    									                 slidesToShow: <?php 
                echo intval($pslides_toshow) - 1;
                ?>
,
    									                 slidesToScroll: 1,
    									                 centerMode: <?php 
                echo esc_attr($centerMode);
                ?>
,
    								    				 centerPadding: '40px',
    									                 infinite: true,
    									                 dots: <?php 
                echo esc_attr($pslides_dots);
                ?>
    									               }
    									             },
    									             {
    									               breakpoint: 600,
    									               settings: {
    									                 slidesToShow: 2,
    									                 slidesToScroll: 1,
    									                 centerMode: <?php 
                echo esc_attr($centerMode);
                ?>
,
    	    								    		 centerPadding: '40px',
    									                 infinite: false,
    									                 dots: false
    									               }
    									             },
    									             {
    									               breakpoint: 480,
    									               settings: {
    									                 slidesToShow: 1,
    									                 slidesToScroll: 1,
    									                 centerMode: <?php 
                echo esc_attr($centerMode);
                ?>
,
    	    								    		 centerPadding: '40px',
    									                 infinite: false,
    									                 dots: false
    									               }
    									             }
    									           ]
    								});
    	
    								jQuery($this).removeClass('dtwl-pre-load');
    							});
		    				</script>
						<?php 
                break;
            default:
                break;
        }
        ?>
			<?php 
        $html .= ob_get_clean();
        wp_reset_postdata();
        return $html;
    }