woocommerce/templates/loop/orderby.php

59 lines
1.7 KiB
PHP
Raw Normal View History

2011-12-11 01:10:24 +00:00
<?php
/**
2013-02-10 17:32:45 +00:00
* Show options for ordering
2012-08-14 18:05:45 +00:00
*
* @author WooThemes
* @package WooCommerce/Templates
* @version 2.2.0
2011-12-11 01:10:24 +00:00
*/
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
2013-01-07 14:17:41 +00:00
global $woocommerce, $wp_query;
if ( 1 == $wp_query->found_posts || ! woocommerce_products_will_display() )
return;
2011-12-11 01:10:24 +00:00
?>
<form class="woocommerce-ordering" method="get">
<select name="orderby" class="orderby">
2011-12-11 01:10:24 +00:00
<?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' )
) );
2011-12-11 01:10:24 +00:00
if ( ! $show_default_orderby ) {
unset( $catalog_orderby['menu_order'] );
}
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>';
}
2011-12-11 01:10:24 +00:00
?>
</select>
2013-01-12 12:24:24 +00:00
<?php
// Keep query string vars intact
foreach ( $_GET as $key => $val ) {
if ( 'orderby' === $key || 'submit' === $key )
2013-01-12 12:24:24 +00:00
continue;
2014-01-15 05:53:37 +00:00
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 ) . '" />';
}
2013-01-12 12:24:24 +00:00
}
?>
</form>