function jigoshop_product_tag($attributes) { global $paged; $jigoshop_options = Jigoshop_Base::get_options(); $attributes = shortcode_atts(array('tag' => '', 'per_page' => $jigoshop_options->get('jigoshop_catalog_per_page'), 'columns' => $jigoshop_options->get('jigoshop_catalog_columns'), 'orderby' => $jigoshop_options->get('jigoshop_catalog_sort_orderby'), 'order' => $jigoshop_options->get('jigoshop_catalog_sort_direction'), 'pagination' => false, 'tax_operator' => 'IN'), $attributes); if (isset($_REQUEST['tag'])) { $attributes['tag'] = $_REQUEST['tag']; } /** Operator validation. */ if (!in_array($attributes['tax_operator'], array('IN', 'NOT IN', 'AND'))) { $tax_operator = 'IN'; } /** Multiple category values. */ if (!empty($slug)) { $slug = explode(',', esc_attr($slug)); $slug = array_map('trim', $slug); } $args = array('post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => $attributes['per_page'], 'orderby' => $attributes['orderby'], 'order' => $attributes['order'], 'paged' => $paged, 'meta_query' => array(array('key' => 'visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN')), 'tax_query' => array(array('taxonomy' => 'product_tag', 'field' => 'slug', 'terms' => $attributes['tag'], 'operator' => $attributes['tax_operator']))); query_posts($args); ob_start(); jigoshop_get_template_part('loop', 'shop'); if ($attributes['pagination']) { do_action('jigoshop_pagination'); } wp_reset_query(); return ob_get_clean(); }
function jigoshop_related_products($posts_per_page = 4, $post_columns = 4, $orderby = 'rand') { global $_product, $columns, $per_page; // Pass vars to loop $per_page = $posts_per_page; $columns = $post_columns; $related = $_product->get_related(); if (sizeof($related) > 0) { echo '<div class="related products">'; // echo '<h2>'.__('Related Products', 'jigoshop').'</h2>'; $args = array('post_type' => 'product', 'ignore_sticky_posts' => 1, 'posts_per_page' => $per_page, 'orderby' => $orderby, 'post__in' => $related); $args = apply_filters('jigoshop_related_products_args', $args); query_posts($args); jigoshop_get_template_part('loop', 'shop'); echo '</div>'; } wp_reset_query(); }
function jigoshop_sale_products($atts) { global $columns, $per_page, $paged; extract(shortcode_atts(array('per_page' => Jigoshop_Base::get_options()->get('jigoshop_catalog_per_page'), 'columns' => Jigoshop_Base::get_options()->get('jigoshop_catalog_columns'), 'orderby' => Jigoshop_Base::get_options()->get('jigoshop_catalog_sort_orderby'), 'order' => Jigoshop_Base::get_options()->get('jigoshop_catalog_sort_direction'), 'pagination' => false), $atts)); $ids = jigoshop_product::get_product_ids_on_sale(); if (empty($ids)) { $ids = array('0'); } $args = array('post_status' => 'publish', 'post_type' => 'product', 'posts_per_page' => $per_page, 'orderby' => $orderby, 'order' => $order, 'paged' => $paged, 'post__in' => $ids); query_posts($args); ob_start(); jigoshop_get_template_part('loop', 'shop'); if ($pagination) { do_action('jigoshop_pagination'); } wp_reset_postdata(); return ob_get_clean(); }
<div class="main-content block-background column col12"> <?php do_action('jigoshop_before_main_content'); ?> <?php echo apply_filters('jigoshop_product_taxonomy_header', '<h1 class="page-title">' . wptexturize($term->name) . '</h1>'); ?> <?php $term = get_term_by('slug', get_query_var($wp_query->query_vars['taxonomy']), $wp_query->query_vars['taxonomy']); ?> <?php jigoshop_get_template_part('loop', 'shop'); ?> <?php do_action('jigoshop_pagination'); ?> <?php do_action('jigoshop_after_main_content'); ?> </div><!-- .main-content --> </div> <?php get_footer();
/** * PRODUCT SLIDER * * @description * Add a product slider * * @example * [product_slider cat=""] * * @attr * id - the id of product **/ function yiw_sc_product_slider_func($atts, $content = null) { //if (empty($atts)) return; extract(shortcode_atts(array('orderby' => 'date', 'order' => 'desc', 'cat' => '', 'style' => '', 'items' => -1), $atts)); global $wpdb, $products_style, $per_page; if (isset($atts['latest']) && $atts['latest']) { $orderby = 'date'; $order = 'desc'; } $per_page = -1; $args = array('post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => $items, 'ignore_sticky_posts' => 1, 'orderby' => $orderby, 'order' => $order, 'meta_query' => array(array('key' => 'visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN'))); if (isset($atts['featured']) && $atts['featured']) { $args['meta_query'][] = array('key' => 'featured', 'value' => '1'); } if (isset($atts['best_sellers']) && $atts['best_sellers']) { $args['meta_key'] = '_js_total_sales'; $args['orderby'] = 'meta_value'; $args['order'] = 'desc'; } if (isset($atts['skus'])) { $skus = explode(',', $atts['skus']); $skus = array_map('trim', $skus); $args['meta_query'][] = array('key' => '_sku', 'value' => $skus, 'compare' => 'IN'); } if (isset($atts['ids'])) { $ids = explode(',', $atts['ids']); $ids = array_map('trim', $ids); $args['post__in'] = $ids; } if (!empty($cat)) { $tax = 'product_cat'; $cat = array_map('trim', explode(',', $cat)); if (count($cat) == 1) { $cat = $cat[0]; } $args['tax_query'] = array(array('taxonomy' => $tax, 'field' => 'slug', 'terms' => $cat)); } if (empty($style)) { $products_style = yiw_get_option('shop_products_style', 'ribbon'); } else { $products_style = $style; } query_posts($args); ob_start(); echo '<div class="products-slider ' . $products_style . '">'; jigoshop_get_template_part('loop', 'shop'); echo '</div>'; wp_reset_query(); $html = ob_get_clean(); $html = str_replace(' last', '', $html); $html = str_replace(' first', '', $html); return apply_filters('yiw_sc_product_slider_html', $html); }
function jigoshop_featured_products( $atts ) { global $columns, $per_page; extract(shortcode_atts(array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'date', 'order' => 'desc' ), $atts)); $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'posts_per_page' => $per_page, 'orderby' => $orderby, 'order' => $order, 'meta_query' => array( array( 'key' => 'visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN' ), array( 'key' => 'featured', 'value' => 'yes' ) ) ); query_posts($args); ob_start(); jigoshop_get_template_part( 'loop', 'shop' ); wp_reset_query(); return ob_get_clean(); }