コード例 #1
0
    function block($instance)
    {
        extract($instance);
        $themefolder = get_template_directory_uri();
        //setup taxonomy if applicable
        if ($taxonomy_type == 'category') {
            $taxonomy_query = '&product_category=' . $taxonomy;
        } else {
            if ($taxonomy_type == 'tag') {
                $taxonomy_query = '&product_tag=' . $taxonomy;
            } else {
                $taxonomy_query = '';
            }
        }
        //get order by
        if ($order_by) {
            if ($order_by == 'price') {
                $order_by_query = '&meta_key=mp_price&orderby=mp_price';
            } else {
                if ($order_by == 'sales') {
                    $order_by_query = '&meta_key=mp_sales_count&orderby=mp_sales_count';
                } else {
                    $order_by_query = '&orderby=' . $order_by;
                }
            }
        } else {
            $order_by_query = '&orderby=title';
        }
        switch ($btncolor) {
            case 'grey':
                $btnclass = '';
                $iconclass = '';
                break;
            case 'blue':
                $btnclass = ' btn-primary';
                $iconclass = ' icon-white';
                break;
            case 'lightblue':
                $btnclass = ' btn-info';
                $iconclass = ' icon-white';
                break;
            case 'green':
                $btnclass = ' btn-success';
                $iconclass = ' icon-white';
                break;
            case 'yellow':
                $btnclass = ' btn-warning';
                $iconclass = ' icon-white';
                break;
            case 'red':
                $btnclass = ' btn-danger';
                $iconclass = ' icon-white';
                break;
            case 'black':
                $btnclass = ' btn-inverse';
                $iconclass = ' icon-white';
                break;
        }
        switch ($iconcolor) {
            case 'blue':
                $tagcolor = ' icon-blue';
                break;
            case 'lightblue':
                $tagcolor = ' icon-lightblue';
                break;
            case 'green':
                $tagcolor = ' icon-green';
                break;
            case 'yellow':
                $tagcolor = ' icon-yellow';
                break;
            case 'red':
                $tagcolor = ' icon-red';
                break;
            case 'white':
                $tagcolor = ' icon-white';
                break;
            case 'black':
                $tagcolor = '';
                break;
        }
        ?>

		<div id="productCarousel-<?php 
        echo $block_id;
        ?>
" class="carousel productcarousel slide" style="background: <?php 
        echo esc_attr($bgcolor);
        ?>
; color: <?php 
        echo esc_attr($textcolor);
        ?>
;">

			<!-- Control -->
            <div class="pull-right">
	            <a class="fade-in-effect" href="#productCarousel-<?php 
        echo $block_id;
        ?>
" data-slide="prev"><i class="icon-circle-arrow-left"></i></a>
	            <a class="fade-in-effect" href="#productCarousel-<?php 
        echo $block_id;
        ?>
" data-slide="next"><i class="icon-circle-arrow-right"></i></a>
            </div>

            <div class="clear padding10"></div>
           
            <div class="carousel-inner">

				<div class="item active">
					<div class="row-fluid">

				<?php 
        switch ($layout) {
            case '2col':
                $span = 'span6';
                $imagesize = 'tb-860';
                $counter = '2';
                break;
            case '3col':
                $span = 'span4';
                $imagesize = 'tb-360';
                $counter = '3';
                break;
            case '4col':
                $span = 'span3';
                $imagesize = 'tb-360';
                $counter = '4';
                $style = 'false';
                break;
            default:
                $span = 'span4';
                $imagesize = 'tb-360';
                $counter = '3';
                break;
        }
        query_posts('post_type=product&showposts=' . $entries . $taxonomy_query . $order_by_query . '&order=' . $arrange);
        $count = 1;
        $num = 1;
        ?>

					<?php 
        if (have_posts()) {
            while (have_posts()) {
                the_post();
                ?>
	

						<?php 
                $id = get_the_ID();
                ?>

						<?php 
                flexmarket_load_single_product_in_box($span, $id, $imagesize, $btnclass, $iconclass, $tagcolor);
                ?>

						<?php 
                if ($num == $entries) {
                    ?>

						<?php 
                } else {
                    ?>

							<?php 
                    if ($count == $counter) {
                        ?>
								</div><!-- / row-fluid -->
								</div><!-- / item -->
								<div class="item">
								<div class="row-fluid">
								<?php 
                        $count = 0;
                        ?>
							<?php 
                    }
                    ?>

						<?php 
                }
                ?>

						<?php 
                $count++;
                ?>
						<?php 
                $num++;
                ?>

					<?php 
            }
        }
        ?>

					</div><!-- / row-fluid -->

				</div><!-- / item -->

				<?php 
        wp_reset_query();
        ?>

			</div> <!-- / carousel-inner --> 

		</div> <!-- / product-carousel -->

		<script type="text/javascript">

			jQuery(document).ready(function () {
				jQuery(".productcarousel").carousel({
					interval: <?php 
        echo esc_attr($speed);
        ?>
					<?php 
        echo $pause == 'yes' ? ',pause: "hover"' : '';
        ?>
				})
			});

		</script>

	<?php 
    }
コード例 #2
0
ファイル: mp-functions.php プロジェクト: piet89/flexmarket
function flexmarket_list_product_in_grid($echo = true, $paginate = '', $page = '', $per_page = '', $order_by = '', $order = '', $category = '', $tag = '', $counter = '3', $span = 'span4', $btnclass = '', $iconclass = '', $tagcolor = '', $boxclass = '', $boxstyle = '')
{
    global $wp_query, $mp;
    //setup taxonomy if applicable
    if ($category) {
        $taxonomy_query = '&product_category=' . sanitize_title($category);
    } else {
        if ($tag) {
            $taxonomy_query = '&product_tag=' . sanitize_title($tag);
        } else {
            if (isset($wp_query->query_vars['taxonomy']) && ($wp_query->query_vars['taxonomy'] == 'product_category' || $wp_query->query_vars['taxonomy'] == 'product_tag')) {
                $term = get_queried_object();
                //must do this for number tags
                $taxonomy_query = '&' . $term->taxonomy . '=' . $term->slug;
            } else {
                $taxonomy_query = '';
            }
        }
    }
    //setup pagination
    $paged = false;
    if ($paginate) {
        if ($paginate === 'nopagingblock') {
            $paginate_query = '&showposts=' . intval($per_page);
        } else {
            $paged = true;
        }
    } else {
        if ($paginate === '') {
            if ($mp->get_setting('paginate')) {
                $paged = true;
            } else {
                $paginate_query = '&nopaging=true';
            }
        } else {
            $paginate_query = '&nopaging=true';
        }
    }
    //get page details
    if ($paged) {
        //figure out perpage
        if (intval($per_page)) {
            $paginate_query = '&posts_per_page=' . intval($per_page);
        } else {
            $paginate_query = '&posts_per_page=' . $mp->get_setting('per_page');
        }
        //figure out page
        if (isset($wp_query->query_vars['paged']) && $wp_query->query_vars['paged']) {
            $paginate_query .= '&paged=' . intval($wp_query->query_vars['paged']);
        }
        if (intval($page)) {
            $paginate_query .= '&paged=' . intval($page);
        } else {
            if ($wp_query->query_vars['paged']) {
                $paginate_query .= '&paged=' . intval($wp_query->query_vars['paged']);
            }
        }
    }
    //get order by
    if (!$order_by) {
        if ($mp->get_setting('order_by') == 'price') {
            $order_by_query = '&meta_key=mp_price_sort&orderby=meta_value_num';
        } else {
            if ($mp->get_setting('order_by') == 'sales') {
                $order_by_query = '&meta_key=mp_sales_count&orderby=meta_value_num';
            } else {
                $order_by_query = '&orderby=' . $mp->get_setting('order_by');
            }
        }
    } else {
        if ('price' == $order_by) {
            $order_by_query = '&meta_key=mp_price_sort&orderby=meta_value_num';
        } else {
            if ('sales' == $order_by) {
                $order_by_query = '&meta_key=mp_sales_count&orderby=meta_value_num';
            } else {
                $order_by_query = '&orderby=' . $order_by;
            }
        }
    }
    //get order direction
    if (!$order) {
        $order_query = '&order=' . $mp->get_setting('order');
    } else {
        $order_query = '&order=' . $order;
    }
    //The Query
    $the_query = new WP_Query('post_type=product&post_status=publish' . $taxonomy_query . $paginate_query . $order_by_query . $order_query);
    $output = '<div class="row-fluid">';
    $count = 1;
    if ($the_query->have_posts()) {
        while ($the_query->have_posts()) {
            $the_query->the_post();
            $id = get_the_ID();
            $output .= flexmarket_load_single_product_in_box($span, $id, 'tb-360', $btnclass, $iconclass, $tagcolor, $boxclass, $boxstyle, false);
            if ($count == $counter) {
                $count = 0;
                $output .= '</div>';
                $output .= '<div class="clear padding20"></div>';
                $output .= '<div class="row-fluid">';
            }
            $count++;
        }
    }
    $output .= '</div>';
    // load pagination
    if ($paged) {
        $output .= '<div class="clear"></div>';
        $output .= '<div class="pull-right">';
        $total_pages = $the_query->max_num_pages;
        if ($total_pages > 1) {
            $current_page = max(1, get_query_var('paged'));
            $output .= '<div class="pagination">';
            $output .= paginate_links(array('base' => get_pagenum_link(1) . '%_%', 'format' => 'page/%#%', 'current' => $current_page, 'total' => $total_pages, 'type' => 'list'));
            $output .= '</div>';
        }
        $output .= '</div>';
    }
    $output .= wp_reset_query();
    $output .= '<div class="clear padding20"></div>';
    if ($echo) {
        echo $output;
    } else {
        return $output;
    }
}