1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<?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 custom" method="get"> <div class="select-wrapper"><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>
|