As you may already know, every product catalog page, or store page, in WooCommerce has a default order, which can be customized via a drop-down menu.
In this dropdown you can sort your products by…
- Popularity: Best sellers
- Average rating: The ones with the best star ratings
- Latest: Order of product creation
- Price: From the highest to the lowest or vice versa.
In addition, there is a default order which is no more and no less than the alphabetical order of the product title, but you’ve already noticed that, haven’t you?
We’re not going to remove the dropdown, or even force another selection to appear by default, which we’ll see, today we’re going to use an existing feature in WooCommerce with which to customize the product display order, which doesn’t work as expected.
The need: I want to skip the existing sorting modes and have certain products appear first.
This is very common, there are many customers who have asked me to get some specific products to always appear first in the product catalog, on the store page.
Whether for agreements with manufacturers, for profitability, there are many possible reasons, sometimes you will always want some products to appear first, instead of the default alphabetical order.
The supposed solution: Customized order of each product
If you’ve been a WordPress user for a long time, you’ll know that there has always been a setting in the page editor to assign a custom order to pages.
This setting is used so that when you have the navigation menu configured to automatically add new pages, they are placed in the order you specify there, not in alphabetical order.
That is, if you have 3 pages:
- About us
And you don’t create a custom menu or specify an order, they will be displayed in this order (from left to right)
- About us
But, if you specify the number 1 in the “Home” page attributes order setting then the menu will be displayed with that page first:
- About us
Well, when one encounters in the WooCommerce product editor an advanced setting to customize the product order one would expect the same functionality wouldn’t you?
That is, if you put a “1” there, it would be logical that this product would appear first in the product catalog of the store, instead of in alphabetical order.
Moreover, if you check the WooCommerce documentation will tell you that the default order of the product catalog is not by alphabetical title but custom order + alphabetical title.
In other words, if I put a “1” to that product in the order setting in the menu it will be the first one….
But NO! WooCommerce ignores me, something must be broken.
The real solution: WooCommerce documentation is wrong
Well yes, the WooCommerce documentation, and many tutorials you may have seen out there, mislead you.
- Is that custom order setting the right one to specify the custom product order? – Yes
- Is WooCommerce broken? – No. It’s just that it’s not documented.
What happens is that it’s not documented, it doesn’t say anywhere, that you should set the order in negative, not with positive numbers.
In other words, if you want a product to appear first in the store catalog you should put “-1” in that field, and so on.
When you save the changes to the product, it will be displayed in the specified order, in this example the first of all.
All other products without a custom setting will be displayed in alphabetical order, as they normally would.