WooCommerce 商品排序設定——熱門最新價格怎麼調

顧客進到你的商店頁,第一眼看到的商品就是賣最好的那幾個——前提是你把 WooCommerce 商品排序設對了。預設情況下 WooCommerce 會用一套你可能沒注意過的邏輯在排商品,結果常常是新上架的好貨被壓在第三頁,過季品反而擺在最前面。

這篇會把 WooCommerce 內建的六種排序方式講清楚:在哪裡設定全站預設、商店頁與分類頁的排序關係、熱門與最新各自依據什麼計算,以及手動拖拉排序為什麼設了卻沒生效。看完你就能讓「想被先看到的商品」確實排在前面。

WooCommerce 內建的商品排序有哪幾種

WooCommerce 出廠就帶六種排序方式,顧客可以在商店頁與分類頁上方的下拉選單自行切換,店家也能挑一個當全站預設。這六種是整套排序機制的基礎,後面所有設定都繞著它們轉。

繁體中文後台與前台下拉選單實際顯示的文字如下:

內部代碼 後台 / 前台顯示 排序依據
menu_order 預設排序(自訂排序+名稱) 你手動設定的順序,沒設則依商品名稱
popularity 人氣排序 商品總銷售量(total_sales)
rating 平均評分排序 顧客評價的平均星等
date 最新排序 商品發佈日期,新的在前
price 價格排序:低到高 售價由低至高
price-desc 價格排序:高到低 售價由高至低

這六種就是 WooCommerce 給你的全部內建選項。它只讓你選「依什麼排」,不讓你個別調整每一種的升冪或降冪方向(價格的兩個方向是拆成兩個獨立選項才做到的),也不能依 SKU、商品屬性或自訂欄位排序——那些要靠外掛或程式碼,後面會談。

全站預設排序要去哪裡設定

全站預設排序有兩個入口,兩邊改的是同一個設定值,改其中一個另一個就會跟著變。

第一個入口是「外觀 → 自訂 → WooCommerce → 商品目錄」,在這裡找到「預設商品排序」下拉選單,選好之後按發佈。這個入口的好處是即時預覽,可以邊改邊看商店頁長什麼樣。

第二個入口是「WooCommerce → 設定 → 商品 → 顯示」,同樣有「預設商品排序」欄位,選好按儲存變更即可。這個入口適合你只想改設定、不需要看預覽的時候,少幾個載入步驟。

這個設定決定的是顧客「還沒動下拉選單」時看到的順序。一旦顧客自己在前台選了別種排序,就以他選的為準,直到他離開或重新整理。所以全站預設要放的是「對多數顧客最有意義的順序」——一般商店放人氣或預設排序,新品週轉快的商店可以考慮放最新。

商店頁與分類頁的排序是同一套嗎

商店頁與各個分類頁預設共用同一個全站排序設定,這是很多人沒搞清楚而踩雷的地方。你在自訂或設定裡選的那個值,會同時套用到主商店頁與所有商品分類頁,不是只改商店頁。

問題來了:如果你賣的東西橫跨多種類型,不同分類其實需要不同排序邏輯。賣衣服的分類想用手動順序把當季款放前面,賣配件的分類想用價格低到高方便顧客挑入門款——內建設定做不到分類各自獨立。WooCommerce 原生只有一個全域排序值,沒有「這個分類用 A 排法、那個分類用 B 排法」的後台開關。

要讓不同分類有不同排序,目前有兩條路。一是用程式碼針對特定分類頁掛 woocommerce_get_catalog_ordering_args 過濾器,依當前分類判斷套哪種排序。二是用支援分類層級排序設定的外掛,把每個分類的排序拆開管理。如果你只有少數幾個分類需要特別處理,程式碼的維護成本反而比裝外掛低。

熱門與最新到底依什麼計算

「人氣排序」依的是每件商品的累積總銷售量,不是瀏覽量、不是加入購物車次數。WooCommerce 在每筆訂單完成時,會把銷售數量累加到商品的 total_sales 這個數值上,人氣排序就是拿這個數值由高到低排。

這帶來一個冷啟動問題:剛開站、所有商品銷售量都是 0 的時候,人氣排序等於沒作用,商品會看起來像隨機亂排。新商店把預設設成人氣排序,前期幾乎沒有差異化效果,要等銷售資料累積起來才有意義。前期建議先用預設排序或最新,等訂單量起來再切人氣。

「最新排序」依的是商品的發佈日期,越晚發佈的排越前面。要注意這裡看的是發佈日,不是補貨日或最後修改日——你把一件舊商品補了庫存、改了價格,它不會因此跳到最新的前面,除非你重新調整它的發佈日期。想讓某件舊品重新被當成新品曝光,得手動把發佈日改成現在。

「平均評分排序」依的是顧客留下的評價星等平均值。沒有任何評價的商品評分視為 0,所以在評價稀少的商店,這種排序同樣會把一堆「還沒人評」的商品擠在後面,效果有限。

手動拖拉排序怎麼設定

手動排序讓你用拖拉的方式決定商品先後,適合把主打款、季節品、利潤高的商品釘在最前面。設定路徑是「商品 → 全部商品」,點上方的「排序」頁籤,列表會切換成可拖曳的版面,把商品拖到你要的位置,順序會即時儲存。

除了整批拖拉,也能單獨設定某件商品的順序值。進入該商品編輯頁,捲到「商品資料」區塊,點「進階」頁籤,裡面有「選單順序」欄位。填入數字,數字越小排越前面,0 代表最優先;數字相同的商品會再依名稱字母順序排。這個「選單順序」就是前面表格裡 menu_order 的來源。

兩種方式改的是同一份資料:拖拉本質上就是幫你批次寫入每件商品的選單順序值,單獨編輯則是精準指定某一件。少量微調用單筆編輯,大規模重排用拖拉介面比較快。

拖拉排序設了卻沒生效,問題在哪

最常見的原因只有一個:全站預設排序沒有設成「預設排序(自訂排序+名稱)」。手動拖拉寫入的順序值,只有在排序方式是 menu_order 時才會被讀取;如果你的全站預設停在人氣、價格或最新,系統根本不看你拖的順序,自然看不到效果。

所以拖完商品發現前台沒變,第一件事先回到「外觀 → 自訂 → WooCommerce → 商品目錄」確認預設商品排序是不是「預設排序」。把它切回去,拖拉的順序就會出現。

第二個常見原因是佈景主題覆寫了 WooCommerce 的排序行為。有些主題會自己接管商店頁的查詢邏輯,導致你的排序設定被蓋掉或失效。最快的判斷方法是暫時切換到 WooCommerce 官方的 Storefront 主題測試:如果切過去排序就正常,問題出在原本的主題,得找主題作者處理或改用對 WooCommerce 相容性較好的主題。

還有一種情況是快取。如果你裝了頁面快取外掛,改完排序後前台可能還顯示舊的快取版本,清一次快取再看即可。

想要超出內建的排序方式怎麼辦

內建六種不夠用的時候,有三條延伸路線,依你的需求和技術門檻選。

第一條是用程式碼擴充下拉選單的選項。WooCommerce 提供 woocommerce_catalog_orderby 過濾器可以增刪、改名、調整選項順序,再搭配 woocommerce_get_catalog_ordering_args 過濾器定義新選項實際怎麼排。常見的加法包括依商品標題字母排、把有庫存的商品排前面、或加一個隨機排序。程式碼要放在子主題的 functions.php 或程式碼片段外掛裡,不要放父主題,否則主題更新就會被清掉。

第二條是用排序類外掛。市面上有些免費外掛專門替預設下拉選單補幾個選項,例如依字母、反字母、特價中、評價數量、是否有貨來排;也有外掛把後台拖拉排序做得更順手,或加上一鍵依銷量、評分、庫存批次排序的功能。不想碰程式碼又只缺幾個選項時,這類外掛最省事。

第三條是用商品表格類外掛,把網格版面換成可排序的表格,讓顧客直接點欄位標題重新排序,支援依 SKU、屬性、自訂欄位等更多維度。這比較適合品項規格密集、顧客需要橫向比較的 B2B 或工業品目錄。

要提醒的是,排序解決的是「已經在這一頁的商品要怎麼排」,篩選解決的是「先把不要的商品濾掉」。商品多的時候兩者要搭配:顧客先用篩選把兩百件縮到十二件,再用排序把那十二件依價格排好,體驗才順。如果你的商店規模到了這個程度,排序之外也該一併規劃篩選機制。

把對的商品排到顧客眼前

WooCommerce 商品排序的設定其實不複雜,難的是想清楚「你希望顧客先看到什麼」。全站預設挑一個對多數顧客有意義的排法、用拖拉把主打商品釘在前面、記得把預設切回「預設排序」讓拖拉生效,這三步就能解決八成需求。

接下來花十分鐘做一件事:打開你的商店頁,用顧客的視角從頭滑一次,看看排在最前面的是不是你最想賣的商品。如果不是,回到上面任一個入口調整。商品排對位置,等於每一個訪客都先被你最好的商品接住,這是不用多花一毛廣告費就能拿到的轉換。

相關文章
標籤: 排序設定, WooCommerce, 商品排序, 商店頁, menu_order