WooCommerce Extra Product Sorting Options

Description

WooCommerce Extra Product Sorting Options provides options that extend the default WooCommerce orderby options on the shop page. You can optionally set a new name for the default sorting (helpful if you’ve used this to create a custom sorting order), and can enable up to 5 new sorting options: alphabetical, reverse alphabetical, on sale, review count, and availability product sorting. You can also remove core sorting options, or remove the sorting dropdown completely.

Requires: PHP 5.6, WooCommerce 3.5+ and WordPress 4.4+

Features

Includes options to:

  • rename default product sorting (i.e., change to “Our Sorting”)
  • enable alphabetical product sorting
  • enable reverse alphabetical sorting
  • enable on sale sorting (note: works only for simple products)
  • enable sorting by inventory / availability
  • enable sorting by review count (most reviews to least)
  • remove core sorting options

Rename Default Sorting

You can customize your product sorting order on your shop pages – here’s a handy tutorial to do so. However, many shop admins like to then rename this from “Default Sorting” to something more descriptive, such as “Our Sorting” or “Our Selection”. You can optionally enter a new name for this sorting order if desired.

Adding Sorting Options

When you create a customized sorting order, you lose the ability to sort products alphabetically. This plugin gives you the ability to add new sorting options to list products by title A to Z or in reverse order (Z to A).

Want to show items with the highest stock first? You can enable sorting by availability, which will enable sorting from high stock to low stock (See FAQ for more details). You can also sort by the number of product reviews.

You can add the option to sort items by sale status – there’s a sorting option to show “On Sale” items first in the shop catalog. Please note that only simple products can be sorted by sale status, and variable products will display mixed with non-sale products.

Remove Sorting Options

You can remove the core sorting options as well! If all sorting options have been removed, the sorting dropdown will become hidden on shop pages.

Translations

The plugin text domain is: woocommerce-extra-product-sorting-options

More Details

Screenshots

  • Plugin Settings in the WooCommerce customizer panel
  • Some new sorting options on the shop page
  • Change sorting label (in shop dropdown) with the Say What plugin

Installation

  1. Be sure you’re running WooCommerce 3.5+ and WordPress 4.4+ in your shop.
  2. Upload the entire woocommerce-extra-product-sorting-options folder to the /wp-content/plugins/ directory, or upload the .zip file with the plugin under Plugins > Add New > Upload
  3. Activate the plugin through the Plugins menu in WordPress
  4. Go to WooCommerce > Settings > Products > Display. The new settings are added after “Default Product Sorting”. If you enable more sorting options, you can set these as new defaults as well.
  5. View documentation on the product page for more help if needed.

FAQ

Do I need to rename the default sorting?

Nope. You can use this plugin to simply add new sorting options to your shop pages. Any of the settings are entirely optional.

How do I set my new sorting option as the default?

When you check to enable these options, save your Product settings. You’ll now be able to select your new options as a default under the “Default Product Sorting” list.

Can I change the sorting label in the shop dropdown?

Yep! You can use the Say What plugin to change the text – for example, you could change the label that says “Sort by name: A to Z” to “Sort alphabetically”. See the screenshots for an example.

The text domain to use is woocommerce-extra-product-sorting-options.

Why doesn’t sorting by availability work?

Don’t worry, it does 🙂 It’s possible to sort by stock, but this will work for parent products rather than using the stock available at the variation level. You can set this under Product Data > Inventory by enabling “Manage stock”. Set the available stock for all variations, and this will be used to sort the item. You can still manage stock at the variation level.

If you don’t manage your stock, you should disable this option – it will simply work as an alphabetical sort if all products are just “In Stock” without inventory managed.

Why can’t on-sale sorting work for variable products?

Simple products and variable products use two different “keys” to indicate if they’re on sale. As a result, we can’t order products using two different meta keys, so we’ve used the key that indicates a simple product’s sale price in this plugin.

We don’t anticipate changing this in the foreseeable future, as we’ve spent a couple hours trying to get the custom search query to work, but WooCommerce core adds search parameters that conflict with it, and we haven’t found a suitable work-around.

This is handy! Can I contribute?

Yes you can! Join in on our GitHub repository and submit a pull request 🙂

Reviews

23 February 2021
This works great, nice documentation, nice plugin, free and good. What a great contribution to the community. Thank you!
30 July 2020
The plugin functions perfectly and its support is unique! Improvement on the discount sorting option, apart from sorting from low to high sale price, would be to sort discount percentage from high to low, and that would be exceptional!
Read all 21 reviews

Contributors and Developers

“WooCommerce Extra Product Sorting Options” is open source software. The following people have contributed to this plugin.

Contributors

“WooCommerce Extra Product Sorting Options” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “WooCommerce Extra Product Sorting Options” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Change Log

2021.04.27 – version 2.9.0

  • Feature – Allow users to remove core sorting options
  • Misc – Require WordPress 4.4+
  • Misc – Require WooCommerce 3.5+
  • Misc – Require PHP 5.6+

2020.05.04 – version 2.8.4

  • Misc – Add support for WooCommerce 4.1

2020.03.10 – version 2.8.3

  • Misc – Add support for WooCommerce 4.0

2020.02.05 – version 2.8.2

  • Misc – Add support for WooCommerce 3.9

2019.10.24 – version 2.8.1

  • Misc – Add support for WooCommerce 3.8

= 2019.08.15 – version 2.8.0
* Misc: Add support for WooCommerce 3.7
* Misc: Remove support for WooCommerce 2.6

= 2019.06.12 – version 2.7.4
* Misc: Declare support for WooCommerce 3.6

2018.10.30 – version 2.7.3

  • Fix: Respect product shortcode ordering on product pages
  • Misc: Add support for WooCommerce 3.5

2018.08.10 – version 2.7.2

  • Localization – Bundled French translation, thanks Jérôme Wymann!

2018.02.13 – version 2.7.1

  • Fix: PHP warnings for themes that don’t support WooCommerce product column and row settings

2018.02.08 – version 2.7.0

  • Tweak: Move settings to customizer panel in WooCommerce 3.3+
  • Fix: Ensure default sorting can be renamed if translated
  • Misc: Add support for WooCommerce 3.3
  • Misc: Require WooCommerce 2.6.14 and WordPress 4.4

2017.08.22 – version 2.6.1

  • Fix: PHP warning when WooCommerce is outdated

2017.03.23 – version 2.6.0

  • Feature: Sort products by review count
  • Misc: Removes ‘featured first’ sorting in shops running WooCommerce 3.0+ since featured meta is no longer available for products (see notes for further details)
  • Misc: Added support for WooCommerce 3.0
  • Misc: Removed support for WooCommerce 2.3.x

2016.07.28 – version 2.5.0

  • Misc: removed ‘randomized’ sorting due to issues with larger catalogs (see notes for further details)

2016.05.31 – version 2.4.0

  • Misc: added support for WooCommerce 2.6
  • Misc: removed support for WooCommerce 2.2

2016.01.18 – version 2.3.0

  • Misc: updated textdomain to woocommerce-extra-product-sorting-optionsplease update translations!
  • Misc: WooCommerce 2.5 compatibility

2015.09.07 – version 2.2.3

  • Fix: properly use orderby attributes when passed in via shortcode

2015.08.17 – version 2.2.2

  • Misc: introduced wc_extra_sorting_options_fallback_order filter
  • Misc: pass in $orderby_value to wc_extra_sorting_options_fallback and wc_extra_sorting_options_fallback_order filters to let you change them for particular orderby

2015.07.27 – version 2.2.1

  • Misc: WooCommerce 2.4 compatibility

2015.07.13 – version 2.2.0

  • Feature: added title fallback to use as secondary sorting parameter
  • Misc: introduced wc_extra_sorting_options_fallback filter
  • Misc: dropped WooCommerce 2.1 support since 2.2 added orderby = rand support

2015.02.06 – version 2.1.1

  • Fix: bug with loading translations

2015.02.03 – version 2.1.0

  • Misc: WooCommerce 2.3 compatibility

2015.01.09 – version 2.0.1

  • Fix: Squished a bug affecting random sorting

2015.01.05 – version 2.0.0

  • Misc: Refactored to simplify code and add upgrade routine
  • Feature: Added “Featured” sorting
  • Feature: Added “Availability” sorting
  • Tweak: Changed settings to multi-select instead of checkbox group
  • Tweak: Text domain is now wc-extra-sorting-options instead of woocommerce-extra-product-sorting-options

2014.07.30 – version 1.2.0

  • Feature: Added “On Sale” sorting (thanks Bryce Adams for the idea)

2014.07.29 – version 1.1.0

  • Feature: Added reverse alphabetical sorting option

2014.07.28 – version 1.0.0

  • Initial Release