コード例 #1
0
    /**
     * Output the product sorting options.
     *
     * @access public
     * @subpackage	Loop
     * @return void
     */
    function woocommerce_catalog_ordering()
    {
        global $woocommerce;
        $orderby = isset($_GET['orderby']) ? woocommerce_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
        /**
         * Show options for ordering
         *
         * @author 		WooThemes
         * @package 	WooCommerce/Templates
         * @version     2.0.0
         */
        if (!defined('ABSPATH')) {
            exit;
        }
        // Exit if accessed directly
        global $woocommerce, $wp_query;
        if (1 == $wp_query->found_posts || !woocommerce_products_will_display()) {
            return;
        }
        ?>
        <form class="woocommerce-ordering" method="get">
            <div class="woocommerce-ordering-div">
            	<select name="orderby" class="orderby">
            		<?php 
        $catalog_orderby = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Default sorting', 'woocommerce'), 'popularity' => __('Sort by popularity', 'woocommerce'), 'rating' => __('Sort by average rating', 'woocommerce'), 'date' => __('Sort by newness', 'woocommerce'), 'price' => __('Sort by price: low to high', 'woocommerce'), 'price-desc' => __('Sort by price: high to low', 'woocommerce')));
        if (get_option('woocommerce_enable_review_rating') == 'no') {
            unset($catalog_orderby['rating']);
        }
        foreach ($catalog_orderby as $id => $name) {
            echo '<option value="' . esc_attr($id) . '" ' . selected($orderby, $id, false) . '>' . esc_attr($name) . '</option>';
        }
        ?>
            	</select>
        	</div>
        	<?php 
        // Keep query string vars intact
        foreach ($_GET as $key => $val) {
            if ('orderby' == $key) {
                continue;
            }
            if (is_array($val)) {
                foreach ($val as $innerVal) {
                    echo '<input type="hidden" name="' . esc_attr($key) . '[]" value="' . esc_attr($innerVal) . '" />';
                }
            } else {
                echo '<input type="hidden" name="' . esc_attr($key) . '" value="' . esc_attr($val) . '" />';
            }
        }
        ?>
        </form>

<?php 
    }
コード例 #2
0
 /**
  * Widget function
  *
  * @see WP_Widget
  * @access public
  * @param array $args
  * @param array $instance
  * @return void
  */
 public function widget($args, $instance)
 {
     global $wp_query;
     extract($args);
     $title = !empty($instance['title']) ? $before_title . $instance['title'] . $after_title : '';
     $output = '';
     if (1 != $wp_query->found_posts || woocommerce_products_will_display()) {
         $output .= '<ul id="nm-product-sorting" class="nm-product-sorting">';
         $orderby = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
         $orderby == ($orderby === 'title') ? 'menu_order' : $orderby;
         // Fixed: 'title' is default before WooCommerce settings are saved
         $catalog_orderby_options = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Default', 'nm-framework'), 'popularity' => __('Popularity', 'nm-framework'), 'rating' => __('Average rating', 'nm-framework'), 'date' => __('Newness', 'nm-framework'), 'price' => __('Price: Low to High', 'nm-framework'), 'price-desc' => __('Price: High to Low', 'nm-framework')));
         if (get_option('woocommerce_enable_review_rating') === 'no') {
             unset($catalog_orderby_options['rating']);
         }
         /* Build entire current page URL (including query strings) */
         global $wp;
         $link = home_url($wp->request);
         // Base page URL
         // Unset query strings used for Ajax shop filters
         unset($_GET['shop_load']);
         unset($_GET['_']);
         $qs_count = count($_GET);
         // Any query strings to add?
         if ($qs_count > 0) {
             $i = 0;
             $link .= '?';
             // Build query string
             foreach ($_GET as $key => $value) {
                 $i++;
                 $link .= $key . '=' . $value;
                 if ($i != $qs_count) {
                     $link .= '&';
                 }
             }
         }
         foreach ($catalog_orderby_options as $id => $name) {
             if ($orderby == $id) {
                 $output .= '<li class="active">' . esc_attr($name) . '</li>';
             } else {
                 // Add 'orderby' URL query string
                 $link = add_query_arg('orderby', $id, $link);
                 $output .= '<li><a href="' . esc_url($link) . '">' . esc_attr($name) . '</a></li>';
             }
         }
         $output .= '</ul>';
     }
     echo $before_widget . $title . $output . $after_widget;
 }
コード例 #3
0
ファイル: functions.php プロジェクト: nicolas-thompson/heni
/**
 * Output the product sorting options.
 *
 * @subpackage	Loop
 */
function heni_catalog_ordering()
{
    global $wp_query;
    if (1 == $wp_query->found_posts || !woocommerce_products_will_display()) {
        return;
    }
    $orderby = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
    $show_default_orderby = 'menu_order' === apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
    $catalog_orderby_options = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Default sorting', 'woocommerce')));
    if (!$show_default_orderby) {
        unset($catalog_orderby_options['menu_order']);
    }
    if (get_option('woocommerce_enable_review_rating') === 'no') {
        unset($catalog_orderby_options['rating']);
    }
    wc_get_template('loop/orderby.php', array('catalog_orderby_options' => $catalog_orderby_options, 'orderby' => $orderby, 'show_default_orderby' => $show_default_orderby));
}
コード例 #4
0
 /**
  * products result count in archive page
  */
 function hwoo_archive_result_count()
 {
     $data = utility_data(func_get_args());
     global $wp_query;
     if (!woocommerce_products_will_display()) {
         return;
     }
     $paged = max(1, $wp_query->get('paged'));
     $per_page = $wp_query->get('posts_per_page');
     $total = $wp_query->found_posts;
     $first = $per_page * $paged - $per_page + 1;
     $last = min($total, $wp_query->get('posts_per_page') * $paged);
     $context = HW_Timber::load($data['current_working_template']);
     $context['total'] = $total;
     $context['first'] = $first;
     $context['last'] = $last;
     $context['show_all'] = $total <= $per_page || -1 == $per_page;
     HW_Timber::_render(array('woo/loop/result-count.twig'), $context);
 }
コード例 #5
0
ファイル: orderby.php プロジェクト: websideas/Mondova
 public function widget($args, $instance)
 {
     global $wp_query;
     if (1 === $wp_query->found_posts || !woocommerce_products_will_display()) {
         return;
     }
     $this->widget_start($args, $instance);
     $orderby = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
     $show_default_orderby = 'menu_order' === apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
     $catalog_orderby_options = apply_filters('woocommerce_catalog_orderby', array('menu_order' => esc_html__('Default sorting', 'woocommerce'), 'popularity' => esc_html__('Sort by popularity', 'woocommerce'), 'rating' => esc_html__('Sort by average rating', 'woocommerce'), 'date' => esc_html__('Sort by newness', 'woocommerce'), 'price' => esc_html__('Sort by price: low to high', 'woocommerce'), 'price-desc' => esc_html__('Sort by price: high to low', 'woocommerce')));
     if (!$show_default_orderby) {
         unset($catalog_orderby_options['menu_order']);
     }
     if ('no' === get_option('woocommerce_enable_review_rating')) {
         unset($catalog_orderby_options['rating']);
     }
     global $wp;
     $link = home_url($wp->request);
     // Base page URL
     if (isset($_SERVER['QUERY_STRING'])) {
         parse_str($_SERVER['QUERY_STRING'], $params);
         $link .= '?' . $_SERVER['QUERY_STRING'];
     } else {
         $link .= '';
     }
     $output = '';
     foreach ($catalog_orderby_options as $id => $name) {
         $link_url = add_query_arg(array('orderby' => $id), $link);
         if ($orderby == $id) {
             $output .= '<li class="selected">' . esc_html($name) . '</li>';
         } else {
             $output .= '<li><a href="' . esc_url($link_url) . '">' . esc_html($name) . '</a></li>';
         }
     }
     printf('<ul>%s</ul>', $output);
     $this->widget_end($args);
 }
コード例 #6
0
<?php

/**
 * Show options for ordering
 *
 * @author 		WooThemes
 * @package 	WooCommerce/Templates
 * @version     2.2.0
 */
if (!defined('ABSPATH')) {
    exit;
}
// Exit if accessed directly
global $woocommerce, $wp_query;
if (1 == $wp_query->found_posts || !woocommerce_products_will_display()) {
    return;
}
?>
<form class="woocommerce-ordering" method="get">
	<select name="orderby" class="orderby pm-orderby-filter">
		<?php 
$catalog_orderby = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Default sorting', 'woocommerce'), 'popularity' => __('Sort by popularity', 'woocommerce'), 'rating' => __('Sort by average rating', 'woocommerce'), 'date' => __('Sort by newness', 'woocommerce'), 'price' => __('Sort by price: low to high', 'woocommerce'), 'price-desc' => __('Sort by price: high to low', 'woocommerce')));
if (get_option('woocommerce_enable_review_rating') === 'no') {
    unset($catalog_orderby['rating']);
}
foreach ($catalog_orderby as $id => $name) {
    echo '<option value="' . esc_attr($id) . '" ' . selected($orderby, $id, false) . '>' . esc_attr($name) . '</option>';
}
?>
	</select>
	<?php 
コード例 #7
0
 function storefront_woocommerce_pagination()
 {
     if (woocommerce_products_will_display()) {
         woocommerce_pagination();
     }
 }
コード例 #8
0
ファイル: archive-product.php プロジェクト: booklein/wpbookle
        wc_get_template_part('content', 'product');
        ?>

                    <?php 
    }
    // end of the loop.
    ?>

                <?php 
    woocommerce_product_loop_end();
    ?>

            </div>

            <div class="shop-loop-after clearfix"<?php 
    if (!is_search() && !woocommerce_products_will_display()) {
        echo ' style="display:none;"';
    }
    ?>
>
			<?php 
    /**
     * woocommerce_after_shop_loop hook.
     *
     * @hooked woocommerce_pagination - 10
     */
    do_action('woocommerce_after_shop_loop');
    ?>
            </div>

        <?php 
コード例 #9
0
ファイル: class-wppp-front-end.php プロジェクト: gelther/wppp
 /**
  * Posts per page.
  *
  * Set the number of posts per page on a hard way, build in fix for many themes who override the offical loop_shop_per_page filter.
  *
  * @since 1.2.0
  *
  * @param	object 	$q		Existing query object.
  * @param	object	$class	Class object.
  * @return 	object 			Modified query object.
  */
 public function woocommerce_product_query($q, $class)
 {
     if (function_exists('woocommerce_products_will_display') && woocommerce_products_will_display() && $q->is_main_query()) {
         $q->set('posts_per_page', $this->loop_shop_per_page());
     }
 }
コード例 #10
0
ファイル: template-tags.php プロジェクト: pootlepress/18-tags
 function eighteen_tags_woocommerce_pagination()
 {
     if (woocommerce_products_will_display()) {
         woocommerce_pagination();
     }
 }
コード例 #11
0
function mango_woocommerce_after_shop_loop()
{
    ?>
   <?php 
    if (!woocommerce_products_will_display()) {
        return;
    }
    ?>
    <nav class="pagination-container">
        <?php 
    woocommerce_result_count();
    ?>
        <nav class="woocommerce-pagination">
            <?php 
    woocommerce_pagination();
    ?>
        </nav>
    </nav>
<?php 
}
コード例 #12
0
ファイル: template-tags.php プロジェクト: sucun21/Ginseng
 function shop_isle_woocommerce_pagination()
 {
     if (woocommerce_products_will_display()) {
         woocommerce_pagination();
     }
 }
コード例 #13
0
 function neckbeard_woocommerce_pagination()
 {
     if (woocommerce_products_will_display()) {
         woocommerce_pagination();
     }
 }
コード例 #14
0
 /**
  * Output the product sorting options.
  *
  * @access public
  * @subpackage	Loop
  * @return void
  */
 function woocommerce_catalog_ordering()
 {
     global $wp_query;
     if (1 == $wp_query->found_posts || !woocommerce_products_will_display()) {
         return;
     }
     $orderby = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
     $show_default_orderby = 'menu_order' === apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
     $catalog_orderby_options = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Default sorting', 'woocommerce'), 'popularity' => __('Sort by popularity', 'woocommerce'), 'rating' => __('Sort by average rating', 'woocommerce'), 'date' => __('Sort by newness', 'woocommerce'), 'price' => __('Sort by price: low to high', 'woocommerce'), 'price-desc' => __('Sort by price: high to low', 'woocommerce')));
     if (!$show_default_orderby) {
         unset($catalog_orderby_options['menu_order']);
     }
     if (get_option('woocommerce_enable_review_rating') === 'no') {
         unset($catalog_orderby_options['rating']);
     }
     wc_get_template('loop/orderby.php', array('catalog_orderby_options' => $catalog_orderby_options, 'orderby' => $orderby, 'show_default_orderby' => $show_default_orderby));
 }
コード例 #15
0
ファイル: functions.php プロジェクト: samiksha369/majorcraft
function pierry_breadcrumb_display()
{
    if (!apply_filters('tc_show_breadcrumb', 1 == esc_attr(TC_utils::$inst->tc_opt('tc_breadcrumb')))) {
        return;
    }
    if (!apply_filters('tc_show_breadcrumb_in_context', true)) {
        return;
    }
    if (tc__f('__is_home') && 1 != esc_attr(TC_utils::$inst->tc_opt('tc_show_breadcrumb_home'))) {
        return;
    }
    if (is_cart() || is_checkout()) {
        echo pierry_breadcrumb_for_cart_checkout();
        return;
    }
    //-----set the args properties-------
    $args = array('container' => 'div', 'separator' => '/', 'before' => false, 'after' => false, 'front_page' => true, 'show_home' => __('Home', 'customizr'), 'network' => false, 'echo' => false);
    /* Set up the default arguments for the breadcrumb. */
    $defaults = array('container' => 'div', 'separator' => '&raquo;', 'before' => __('Browse:', 'customizr'), 'after' => false, 'front_page' => true, 'show_home' => __('Home', 'customizr'), 'network' => false, 'echo' => true);
    /* Allow singular post views to have a taxonomy's terms prefixing the trail. */
    if (is_singular()) {
        $post = get_queried_object();
        $defaults["singular_breadcrumb_taxonomy"] = apply_filters('tc_display_taxonomies_in_breadcrumb', true, $post->post_type);
    }
    /* Parse the arguments and extract them for easy variable naming. */
    $args = apply_filters('tc_breadcrumb_trail_args', wp_parse_args($args, $defaults), $args, $defaults);
    //----- end set the args properties-------
    global $wp_query;
    if (1 == $wp_query->found_posts || !woocommerce_products_will_display()) {
        $orderby = $show_default_orderby = '';
        $catalog_orderby_options = array();
        //return;
    } else {
        $orderby = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
        $show_default_orderby = 'menu_order' === apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
        $catalog_orderby_options = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Sort by:', 'woocommerce'), 'popularity' => __('Sort by popularity', 'woocommerce'), 'rating' => __('Sort by average rating', 'woocommerce'), 'date' => __('Sort by newness', 'woocommerce'), 'price' => __('Sort by price: low to high', 'woocommerce'), 'price-desc' => __('Sort by price: high to low', 'woocommerce')));
        if (!$show_default_orderby) {
            unset($catalog_orderby_options['menu_order']);
        }
        if (get_option('woocommerce_enable_review_rating') === 'no') {
            unset($catalog_orderby_options['rating']);
        }
    }
    wc_get_template('breadcrumbs-product-orderby.php', array('catalog_orderby_options' => $catalog_orderby_options, 'orderby' => $orderby, 'show_default_orderby' => $show_default_orderby, 'args' => TC_breadcrumb::$instance->tc_breadcrumb_trail($args)));
}
コード例 #16
0
    exit;
}
// Exit if accessed directly
global $woocommerce, $wp_query, $sf_options;
$products_per_page = $sf_options['products_per_page'];
$shop_page_url = get_permalink(wc_get_page_id('shop'));
if (is_tax('product_cat')) {
    $product_category = $wp_query->query_vars['product_cat'];
    $product_category_link = get_term_link($product_category, 'product_cat');
    if ($product_category_link != "") {
        $shop_page_url = $product_category_link;
    } else {
        $shop_page_url = "";
    }
}
if (!woocommerce_products_will_display()) {
    return;
}
?>
<div class="woocommerce-count-wrap">
    <p class="woocommerce-result-count">
        <?php 
$paged = max(1, $wp_query->get('paged'));
$per_page = $wp_query->get('posts_per_page');
$total = $wp_query->found_posts;
$first = $per_page * $paged - $per_page + 1;
$last = min($total, $wp_query->get('posts_per_page') * $paged);
if (1 == $total) {
    echo __('Showing the single product', 'swiftframework');
} elseif ($total <= $per_page) {
    printf(__('Showing all %d products', 'swiftframework'), $total);
コード例 #17
0
ファイル: widget.php プロジェクト: jonasbelcina/platinumdxb
 public function widget($args, $instance)
 {
     global $_chosen_attributes, $wp_query, $wp;
     if (1 == $wp_query->found_posts || !woocommerce_products_will_display()) {
         return;
     }
     $this->widget_start($args, $instance);
     if (1 != $wp_query->found_posts || woocommerce_products_will_display()) {
         echo '<ul>';
         $orderby = isset($_GET['orderby']) ? wc_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
         $show_default_orderby = 'menu_order' === apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
         $catalog_orderby_options = apply_filters('woocommerce_catalog_orderby', array('menu_order' => __('Default sorting', 'sitesao'), 'popularity' => __('Sort by popularity', 'sitesao'), 'rating' => __('Sort by average rating', 'sitesao'), 'date' => __('Sort by newness', 'sitesao'), 'price' => __('Sort by price: low to high', 'sitesao'), 'price-desc' => __('Sort by price: high to low', 'sitesao')));
         if (!$show_default_orderby) {
             unset($catalog_orderby_options['menu_order']);
         }
         if (!apply_filters('dh_woocommerce_product_sorting_show_default', false)) {
             unset($catalog_orderby_options['menu_order']);
         }
         if (get_option('woocommerce_enable_review_rating') === 'no') {
             unset($catalog_orderby_options['rating']);
         }
         foreach ($catalog_orderby_options as $id => $name) {
             if ($orderby == $id) {
                 $link = remove_query_arg('orderby');
                 echo '<li class="chosen"><a href="' . esc_url($link) . '">' . esc_attr($name) . '</a></li>';
             } else {
                 $link = add_query_arg('orderby', $id);
                 echo '<li><a href="' . esc_url($link) . '">' . esc_attr($name) . '</a></li>';
             }
         }
         echo '</ul>';
     }
     $this->widget_end($args);
 }