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 . '"/>'; }
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; }
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' => '←', 'next_text' => '→', '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' => '←', 'next_text' => '→', '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; }
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; }
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; }