Ejemplo n.º 1
0
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();
}
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
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();
Ejemplo n.º 5
0
/** 
 * 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);
}
Ejemplo n.º 6
0
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();
}