WordPress 分類排序教學:自訂文章與商品順序
WordPress 分類排序教學:用免費外掛拖曳自訂文章、商品與自訂分類法順序,涵蓋小工具顯示層開關、WooCommerce 差異、排序沒生效的排查步驟與 SEO 影響。
作者:褚崇名(Sliven)
本頁目錄
- 回頭想想,不少人都對 WordPress 預設的分類順序很頭痛
- 為什麼 WordPress 預設的分類順序常常不是你要的
- 分類排序到底在排什麼?先分清楚三種順序
- 不裝外掛的兩條路:選單法與代碼法
- 方法一:用選單取代分類列表
- 方法二:用程式碼片段改變排序邏輯
- 數字前綴這個老技巧:能用,但代價你要知道
- 用外掛拖曳排序:先確認儲存與查詢方式
- 裝 term-order 外掛前,我一定做的三個檢查
- WooCommerce 商品分類排序的特殊邏輯
- 子分類的排序,跟母分類是兩回事
- 多語系網站的排序陷阱:每一種語言可能要排一次
- 排序跟 SEO 的關係:分類順序是給搜尋引擎看的嗎
- 分類該排,那標籤呢?
- 依網站類型選排序策略:五種站型的最佳解
- 排序跑掉了嗎?最常見的五個原因
- 五步驟把整站分類順序整理到位
快速重點整理:WordPress 文章分類預設依名稱排序,核心沒有提供通用的拖曳介面。常見解法是用選單取代分類列表、使用支援自訂分類法排序的外掛,或用程式碼片段改變 get_terms() 的排序邏輯。WooCommerce 商品分類則可在 Products → Categories 直接拖曳排序。這篇會把各種方法、多語系陷阱,以及排序跟 SEO 的關係一次講清楚。
回頭想想,不少人都對 WordPress 預設的分類順序很頭痛
想像一下,你走進一家超市,結果生鮮區排在五金區後面、結帳櫃檯夾在零食跟冰淇淋中間。商品都沒錯,但動線一亂,你買個東西要繞三圈。WordPress 預設的分類順序給我的感覺就是這樣:資料都對,順序卻完全違背你心裡想呈現的優先級。
不少經營內容站跟電商站的站長,第一個會抱怨的幾乎都是這句:「為什麼我的【主推分類】被排在側邊欄最下面?」答案換句話說,很簡單:WordPress 把分類當作「分類用的標籤」,至於順序,它把這件事交給選單系統去處理。兩件事在核心設計上根本沒被當成同一回事,所以你才會覺得卡。
接下來要處理的,就是這個看似小、其實影響導覽與轉換的排序問題。不論你是經營部落格、形象網站,還是用 WooCommerce 開電商,看完你會知道每一種排序方法背後的機制、各自的代價,以及哪一條路最適合你現在的網站。
為什麼 WordPress 預設的分類順序常常不是你要的
要解問題,先理解問題。WordPress 把分類(category)、標籤(tag)、自訂分類法(custom taxonomy)統一稱為 taxonomy terms,全部存在同一組資料表裡。問題出在「它們怎麼被讀出來」。
當你在後台用 Appearance → Menus 之外的方式顯示分類(例如側邊欄的分類小工具、佈景主題的分類列表、外掛的商品分類區塊),底層呼叫的多半是 get_terms() 或 wp_list_categories() 這兩個函式。它們的預設行為是:
- 依名稱排序(
orderby=name),而且比對的是名稱欄位(name)本身,而非代稱(slug),所以中文站排出來的順序常常「看起來沒邏輯」。 - 遞增(
order=ASC),A 在前 Z 在後。 - 沒有任何一個欄位叫「我自己排的順序」會被核心拿來用。
這裡有個中文站特別容易踩到的細節。中文分類的名稱跟 slug 通常是脫鉤的:你的分類叫「最新消息」,slug 可能是 news;分類叫「教學」,slug 是 tutorial。核心依名稱排序時,比對的是「最新消息」「教學」這些中文名稱本身,但資料庫的預設排序規則並不認得筆畫或注音。結果排出來的順序,跟讀者在中文語境下期待的「重要度」或筆畫順完全對不上。這也是為什麼中文站的站長特別容易覺得 WordPress 分類順序「沒邏輯」,因為它背後的邏輯根本不是針對中文設計的。
換句話說,核心不是不能排序,而是它的排序維度只有「名字、代稱、ID、母分類、文章數」這幾種,沒有一個叫「站長心裡想的順序」。這不是 bug,這是設計哲學:WordPress 把「分類」當作語意標籤,把「順序」交給選單系統去處理。理解這一點,你才不會一直在外掛裡找一個根本不屬於核心職責的功能。
這套預設適合一般分類清單,但未必符合內容站或電商的導覽優先級。是否影響轉換,要看分類在頁面上的位置、文案與實際點擊資料,不能只靠排序判斷。
分類排序到底在排什麼?先分清楚三種順序
遇到「分類排序怎麼做」這個問題,第一件事不是給外掛,而是反問:「你說的是哪一種順序?」因為這三種排序的解法完全不同,搞錯了會白忙一場。
| 排序類型 | 影響的是 | 核心支援 | 典型解法 |
|---|---|---|---|
| Taxonomy Term Order(分類項目本身的順序) | 側邊欄分類小工具、佈景主題的分類列表、商品分類區塊的列出順序 | 不支援拖曳 | term-order 外掛或程式碼片段 |
| Menu Order(導覽選單裡的順序) | 頂部導覽列、主選單、footer 選單 | 完整支援拖曳 | Appearance → Menus 直接拖 |
| Post / Product Order(文章或商品在分類頁裡的排列順序) | 分類彙整頁、商品列表頁裡面「項目」的前後 | 部分支援(商品有 menu_order) | Intuitive Custom Post Order、WooCommerce 預設排序 |
絕大多數人的痛點是第一種。但也有站長裝了一堆 term-order 外掛,結果其實真正想改的是頂部導覽列,那根本只要進 Appearance → Menus 拖一下就好,連外掛都不用裝。所以動手前,先確認你的痛點落在哪一格。
如果你想深入選單那條路,可以參考這篇 WordPress 選單設定教學,裡面把主選單、子選單、行動版的邏輯都講過一次。選單是 WordPress 內建最完整的排序系統,能用它解就別動外掛。分類小工具的位置跟側邊欄設定,也可以對照 WordPress 區塊小工具與側邊欄設定教學,搞清楚顯示層跟資料層的差別。
不裝外掛的兩條路:選單法與代碼法
很多人一遇到排序問題就直奔外掛,但我自己能不裝就不裝。每一支外掛都是未來搬家、升級、除錯時的潛在變數。所以先看看不裝外掛能走到哪。
方法一:用選單取代分類列表
這是我最推薦的入門解法。邏輯是:既然核心把「順序」交給選單系統,那就不要再用分類小工具顯示分類,改用「自訂選單小工具」放一個你手動排好的選單。
步驟很直覺:
- 進
Appearance → Menus,開一個新選單,例如命名為sidebar-categories。 - 把你要顯示的分類從左邊勾選加入,然後用滑鼠拖曳調整前後、縮排做子分類。
- 到
Appearance → Widgets,把原本的「分類」小工具換成「導覽選單」小工具,選擇剛才那個選單。
這個方法的好處是零相依:你換主機、換主題、升級 WordPress,順序都不會跑。壞處是它只解決「顯示」這一層,如果你的佈景主題或某個區塊是直接呼叫 wp_list_categories(),選單法就管不到。不過對大多數中小型網站的側邊欄來說,這招 CP 值最高。
一個要特別注意的細節:新版 WordPress 的區塊小工具(block-based widgets)跟傳統小工具的操作介面不同,但背後邏輯一樣。區塊版是用「導覽選單」區塊嵌入你排好的選單,傳統版是用「自訂選單」小工具。兩者都能達成一樣的效果,別因為介面長得不一樣就以為選單法不能用。
方法二:用程式碼片段改變排序邏輯
如果你跟程式有一點熟,或是網站已經裝了程式碼片段管理外掛(Code Snippets、WPCode 這類),可以直接用 get_terms 的 filter 改排序條件。例如想讓分類依「文章數」從多到少排,讓熱門分類自動浮上來:
add_filter( 'get_terms_orderby', function( $orderby, $args ) { if ( isset( $args['orderby'] ) && 'post_count' === $args['orderby'] ) { return 'count'; } return $orderby; }, 10, 2 );
這個做法的好處是依規則自動排,不用每次新增分類都手動調。壞處是它只能依某個欄位排,「你心裡想的那個順序」它給不了。如果你的需求是「精準控制每個分類的前後」,這條路走不通,還是得靠 term-order 外掛。
我有個原則:能用規則解的,就不要用手動。會自動的事情交給程式,不會自動的事情才交給拖曳介面。分類排序剛好兩種需求都有,所以沒有誰一定取代誰。
數字前綴這個老技巧:能用,但代價你要知道
在進入外掛之前,有一個流傳很久的「免外掛」技巧值得提一下:把分類名稱前面加上數字前綴,例如「01 最新消息」「02 教學」「03 案例」。核心預設依名稱排序時,便可能照數字前綴列出。如果顯示元件明確設定為依 slug 排序,也能對 slug 採用相同做法。
這招的好處是真的零相依,連程式碼都不用寫,純粹靠命名達成。在一些臨時活動頁、內部知識庫、或是你完全不想碰資料庫的小專案裡,它很方便。
但我必須誠實告訴你它的三個代價,免得你用了之後才後悔:
- 前綴會滲到前台。如果你用分類名稱加上數字,訪客會看到「01 最新消息」這種醜醜的標題;如果只改 slug,名稱好看但分類頁的網址會變成
/category/01-news,對 SEO 與可讀性都不漂亮。 - 改順序等於改網址。哪天你想把「03」挪到「01」,就得改 slug,舊網址就失效了。如果沒做好重新導向,過去累積的 SEO 權重跟外部連結會一起斷掉,這對經營一陣子的站是硬傷。
- 超過十個分類就破功。字母排序裡「10」會排在「2」前面(因為字元比對是「1」小於「2」),所以你得補零成「02」「10」。分類一多,維護成本反而比裝外掛高。
我的建議是:這招留給短期、用完即丟的站。如果你的網站打算長期經營、分類會持續增加,寧可一開始就用選單法或 term-order 外掛把順序跟網址脫鉤。順序是會變的東西,網址是不該亂變的東西,把這兩者綁在一起,遲早會出事。
用外掛拖曳排序:先確認儲存與查詢方式
當你真的需要「每個分類都精準排在我指定的位置」,就輪到分類排序外掛上場。不同外掛可能把順序存在 term meta、自建資料表或其他欄位,再透過查詢 hook 改變 get_terms() 的結果。WordPress 核心的 term 物件沒有通用的 term_order 屬性,因此不能假設所有外掛都用同一種儲存方式。
拖曳後的資料能否在停用、搬家或改用另一款外掛後保留,取決於該外掛的實作。安裝前先看官方文件,並備份完整資料庫;不要把「換同類外掛就能恢復原順序」當成保證。
這裡我幫你把市面上最常被提到的三款擺在一起比,讓你知道怎麼挑:
| 外掛 | 主要功能 | 適合場景 | 要注意的事 |
|---|---|---|---|
| Category Order and Taxonomy Terms Order | 拖曳排序所有 taxonomy terms(分類、標籤、自訂分類法) | 想統一管理全站分類順序 | 儲存方式依版本與外掛文件為準,搬家要帶完整資料庫 |
| Intuitive Custom Post Order | 拖曳排序文章、頁面、自訂文章類型的列出順序 | 想排的是「分類頁裡的文章」而非分類本身 | 作用在 post 物件,不是 term |
| WooCommerce 內建排序 | 商品與商品分類各有相應的排序介面 | 使用 WooCommerce 的商店 | 商品分類可在 Products → Categories 拖曳;前台區塊仍可能有自己的排序設定 |
看出重點了嗎?這三款各管一層,不是互相取代。很多人以為裝一支就能解決全部,結果發現「分類順序對了,但分類頁裡的文章順序還是亂的」,就是因為搞混了 term 跟 post 兩個層次。
如果你決定走外掛這條路,安裝流程跟一般外掛一樣,可以照著 WordPress 外掛安裝教學的三種方法挑一個。裝完後通常會在 文章 或 設定 選單下多一個「Taxonomy Order」之類的頁面,進去就能拖曳。要管理全站外掛的話,WordPress 外掛終極推薦清單也能幫你釐清哪些該裝、哪些只是累贅。
一個我會誠實提醒你的代價:term-order 外掛的資料是寫進資料庫的,所以它跟你的備份、搬家、多語系外掛都會產生關聯。後面講陷阱那節我會把這些地雷點出來。
裝 term-order 外掛前,我一定做的三個檢查
決定走外掛路線之後,不是隨便挑一支裝上去就沒事。免費外掛的品質參差不齊,我挑 term-order 這類會動到資料表的外掛時,一定先做三個檢查。這幾個動作不花你十分鐘,卻能幫你避開日後大半的維護災難。
第一,看更新紀錄與相容性。到外掛的 WordPress.org 頁面,確認它標示的測試版本、近期支援紀錄與變更內容。更新日期可以作為線索,但沒有「一年內必定安全」的通用門檻;仍應在目前 WordPress、PHP 與佈景主題環境測試。
第二,看它把順序存在哪。常見做法包括 term meta、自建資料表或外掛自訂的儲存機制。裝之前查看官方說明,確認停用、刪除與搬家時如何處理資料,並使用涵蓋完整資料庫的備份方式。
第三,在測試環境先跑一輪。如果你有 staging 站,先裝起來、排幾個分類,再模擬停用、重新啟用與升級 WordPress,確認順序是否保留。版本更新仍可能改變外掛與查詢的相容性,先測試才能避免正式站的分類順序突然變動。
WooCommerce 商品分類排序的特殊邏輯
如果你使用 WooCommerce,商品分類排序還要和商品排序分開處理。根據 W3Techs 的統計(2026 年 6 月),WooCommerce 是廣泛使用的電商系統之一,相關介面與查詢行為也有自己的規則。
商品分類排序之所以複雜,是因為它牽涉到三個獨立的順序,很多人會把它們混在一起:
- 商品分類的順序:WooCommerce 可在
Products → Categories拖曳分類;前台側邊欄或首頁區塊是否採用這個順序,仍要看該元件的排序設定。 - 商品在分類頁裡的順序(product menu_order):進到某個分類頁之後,商品列出的前後。WooCommerce 有內建排序功能,在
Products列表頁把「排序方式」切到 menu_order 就能拖曳。 - 預設顯示排序(default catalog sort):訪客一進商品頁看到的第一個排序邏輯,可以在
WooCommerce → Settings → Products → Default product sorting設成 menu_order,或依價格、知名度。
這三層一定要分清楚。最常見的誤解是:站長在 Products 列表頁拖了半天商品,卻抱怨「為什麼側邊欄的商品分類順序沒變」。因為你排的是商品,不是商品分類。兩個完全是不同的資料物件。
另一個 WooCommerce 專屬的重點:商品分類頁本身是極有價值的 SEO 落地頁。很多購物站的自然搜尋流量,進來的幾乎都是分類頁(例如「男裝 / 上衣」),首頁或單一商品頁反而次要。所以商品分類的順序、命名、內部連結結構,直接影響搜尋引擎怎麼理解你整個商品目錄的層級。這部分如果你正在架站,WooCommerce 購物網站架設全攻略有更完整的設定脈絡可以對照;商品本身的類型與分類邏輯,也能搭配 WooCommerce 商品類型完全指南一起看,把分類體系先想清楚再談排序。商品頁本身的 SEO 細節,像是標題、描述、結構化資料,可以再對照 WooCommerce 商品頁 SEO 優化完全手冊,把分類層跟商品層的優化分頭進行。
子分類的排序,跟母分類是兩回事
當你的分類有階層(母分類底下掛子分類),排序會多出一個維度:你排的到底是「母分類之間的順序」,還是「某個母分類底下子分類的順序」?兩者在使用者的感受上是兩層獨立導覽,外掛是否分層處理則要看其實作。
舉個電商的例子。你的商品分類長這樣:
- 男裝(母分類)
- 女裝(母分類)
- 配件(母分類)
- 帽子(子分類,掛在配件下)
- 皮帶(子分類,掛在配件下)
- 襪子(子分類,掛在配件下)
這裡有兩個獨立的排序需求:第一,「男裝 / 女裝 / 配件」這三個母分類誰先誰後;第二,點進「配件」之後,「帽子 / 皮帶 / 襪子」這三個子分類誰先誰後。大多數 term-order 外掛的拖曳介面會用縮排呈現階層,你拖母分類時不會動到子分類的相對順序,反之亦然。但有些較簡陋的外掛只處理頂層,子分類還是會 fallback 回字母排序。
實務上我會建議:先把母分類的順序定下來,再處理子分類。因為母分類決定的是整個導覽骨架,子分類決定的是單一頁面內的細節。骨架錯了,細節排得再漂亮也救不回來。而且母分類通常數量少、變動機率低,值得花時間手動排;子分類會隨著商品擴張不斷新增,太講究手動順序反而會被自己累死。
另一個跟階層有關的重點:子分類頁的點擊深度。一個掛在「配件 → 帽子」底下的子分類頁,從首頁算起至少要點兩層才到。如果這個子分類是你主力商品,把它拉出來當母分類、或用選單直接連到它,會比調排序更有 SEO 效果。排序解決的是「同層之間的先後」,解決不了「層級太深」這個結構性問題。這兩件事別搞混。
多語系網站的排序陷阱:每一種語言可能要排一次
這一節是很多教學文不會講、但實際專案裡一定踩到的坑。如果你的網站是多語系(用 Polylang、TranslatePress、WPML 這類外掛做翻譯),分類排序會多出一個維度:每一種語言的排序可能是獨立的。
原因是,不少多語系方案會為各語言建立對應的 term,而排序資料通常也跟特定 term 或語言情境綁在一起。例如中文的「上衣」與英文的「Tops」可能是兩個獨立的 product_cat term,是否同步順序要看多語系與排序外掛的整合方式。
這會造成兩個實務問題:
- 中文排好了,英文沒排:你在中文後台拖完順序,切到英文後台發現順序還是預設的。因為你排的根本是另一個 term。
- 同步設定打架:有些多語系外掛有「同步分類」選項,但它同步的是「對應關係」,不是「順序」。於是你怎麼排都覺得「怎麼又跑掉了」。
我的實務做法是:先決定排序策略,再決定同步策略。如果你的各語言市場優先級一樣(例如中英文都是同一套主推分類),那就用多語系外掛的同步功能統一對應,然後在主要語言排一次;如果各市場優先級不同(例如中文站主推「團購」、英文站主推「批發」),那就關閉同步,分別排。
多語系外掛本身的選擇也會影響這件事。Polylang 跟 TranslatePress 對 term 的處理邏輯不同,如果你還在選型階段,Polylang 完整教學跟 TranslatePress 多語系教學可以幫你理解各自的資料模型。選對工具,後面的排序痛苦會少一半。
排序跟 SEO 的關係:分類順序是給搜尋引擎看的嗎
這題很常被問到,也值得認真回答。分類順序本身不是直接的排名因素,Google 不會因為你的「男裝」排在「女裝」前面就給你加分。但排序會透過四個間接路徑影響 SEO:
第一,內部連結與可發現性。把重要分類放進全站導覽,能讓使用者與搜尋引擎更容易找到它;但同一個選單裡單純往前挪幾格,不代表必然取得更多排名權重。Backlinko 2025 年 4 月的搜尋結果排名研究曾觀察到內部連結與排名的相關性,但這類研究不能證明導覽排序本身會提升排名。重點仍是連結是否可抓取、導覽層級是否清楚,以及分類頁本身是否有實質內容。
第二,站內點擊。導覽位置可能影響注意力與點擊,但效果會受裝置、版型、名稱與使用者意圖影響。Backlinko 的 CTR 研究(2025 年 4 月)分析的是 Google 搜尋結果位置,不是網站選單,不能直接套用;用實際點擊或事件資料比較,會比預設「排前面一定比較好」可靠。
第三,點擊深度(click depth)。重要的分類頁如果埋在很深的子選單裡,搜尋引擎爬蟲要點好幾層才找得到,權重傳遞也會衰減。把主力分類拉到第一層,等於讓它離首頁只有一步,這對收錄與排名都有幫助。網站結構與 SEO 的關係,可以對照 網站架構圖規劃全攻略跟 WordPress 架站與 SEO 優化全攻略這兩篇,會更有全貌。
第四,分類頁可以承接主題導覽。如果分類頁有清楚說明、合理彙整相關內容,並與文章互相連結,它能成為使用者理解主題的入口。單靠把分類排到前面,不會自動建立所謂的主題權威;內容品質與整體資訊架構仍是主體。
所以正確的說法是:分類排序不是 SEO 開關,而是資訊架構的指揮棒。你透過排序決定哪些分類拿到最多內部連結、最多點擊、最淺的點擊深度,這三者加起來,就是你網站的 SEO 資源分配。文章發佈流程跟分類、標籤的搭配,也可以對照 WordPress 文章發佈完整教學,把分類這層的決策跟內容產製串起來。
分類該排,那標籤呢?
處理完分類排序,很多人會順手問:「那標籤(tag)要不要也排一下?」我的答案多數時候是:不用。原因要從分類跟標籤在資訊架構裡的角色差講起。
分類是階層式的,一篇文章通常只歸一個主分類,所以分類的順序等於你在告訴讀者「我的內容主軸是什麼」。標籤則是平面式的,一篇文章可以掛很多標籤,標籤之間沒有先後意義,它的價值在「橫向關聯」而非「優先級」。所以排標籤順序,本身沒有太多導覽意義。
但有幾種情境例外,你會需要某種程度的標籤排序:
- 標籤雲(tag cloud)。如果你用標籤雲小工具顯示熱門標籤,直接讓它依「使用次數」自動排序會更省事,讓熱門標籤自然放大、冷門標籤縮小,這正是標籤雲原本的設計。
- 專題聚合頁。如果你把某組標籤當成「專題」經營(例如一整個月的特別企劃),那這組標籤在專題期間的露出順序就有意義,可以用選單或區塊手動排。
- 商品屬性(attribute)。在 WooCommerce 裡,商品的「顏色」「尺寸」這種屬性技術上也是一種 taxonomy,它的排列順序會影響篩選器(filter)的呈現,這時候就值得排。
本質上來說分類排序的關鍵字是「優先」,標籤排序的關鍵字是「關聯」。除非你的標籤被拿來做優先級的展示,否則把心力放在分類上,投資報酬率高得多。把標籤留給它的強項:橫向把內容串起來。
依網站類型選排序策略:五種站型的最佳解
講了一堆方法,你可能還是會問:「那我這種站到底該用哪一個?」最常見的五種站型,各自的最佳解對照如下,讓你直接對號入座。記住一個原則:方法沒有絕對的好壞,只有「適不適合你現在的規模與維護能力」。
| 站型 | 分類特性 | 建議主方法 | 原因 |
|---|---|---|---|
| 個人部落格 | 分類少(5 到 10 個)、變動低 | 選單法 | 零相依,長期最省事 |
| 內容媒體 / 知識站 | 分類多(20 個以上)、會持續新增 | term-order 外掛加規則備援 | 主分類手動排,長尾分類依文章數自動排 |
| 形象 / 企業官網 | 分類極少(3 到 5 個)、極少變動 | 選單法 | 直接寫進主選單,連側邊欄都不用 |
| WooCommerce 電商 | 商品分類加商品本身雙層排序 | term-order 外掛(商品分類)搭配內建 menu_order(商品) | 兩層各用各的工具,別混 |
| 多語系網站 | 每種語言可能要獨立排 | term-order 外掛搭配多語系外掛同步設定 | 先決定同步策略,再逐語言檢查 |
這張表的精神是:愈小的站愈該用選單,愈大愈複雜的站才上外掛。實務上常看到小型形象站裝了一堆排序外掛,結果站長換人後沒人會維護,順序反而比沒裝時更亂。能簡單就別複雜,這是反覆驗證過的判斷。
另一個我會提醒的是:選方法的時候,也要把你未來會不會自己改考慮進去。如果你之後會把網站交接給不懂技術的人,選單法是唯一他能看懂的;如果你自己會長期顧,外掛的自動化才會幫你省時間。工具的選擇,從來都是「對人的選擇」。整站架設跟分類規劃的源頭,也能回到 WordPress 部落格架站教學或 WordPress 架站新手教學,先把分類體系在架站階段就想清楚。
排序跑掉了嗎?最常見的五個原因
「我明明排好了,怎麼過兩天又跑掉了?」這大概是排序問題裡最常出現的一句求救。排序會跑掉,幾乎不會無緣無故,通常是底下五個原因之一:
- 快取沒清。分類列表是被快取最兇的區塊之一,特別是用快取外掛或主機層快取的站。你改了順序,但訪客看到的是舊快取。先清快取再下結論。要注意的是,一個網站可能同時存在好幾層快取:頁面快取(例如外掛產生的靜態 HTML)、物件快取(object cache,存在記憶體裡的資料庫查詢結果)、主機層快取(例如 Cloudflare 或主機商的 CDN)。只清一層常常不夠,分類順序這種來自
get_terms()的資料,特別容易被物件快取咬住。排查時三層都要確認。 - 搬家或還原時排序資料沒帶到。只匯出內容的工具可能不會帶走外掛設定、term meta 或自建資料表。建議使用完整資料庫備份,並依外掛文件確認排序資料確實已還原。
- 佈景主題硬寫死排序。有些佈景主題為了設計一致性,會在自己的分類列表區塊裡寫死
orderby=name,直接覆蓋外掛的設定。這種情況你裝再多 term-order 外掛都沒用,得改主題檔或換區塊。 - 外掛衝突。同時裝兩支 term-order 外掛、或快取外掛與排序外掛打架,都會讓順序忽明忽暗。排查排序問題時,先關掉其他無關的外掛再測。
- 多語系外掛的同步邏輯覆蓋。多語系外掛的同步設定可能在儲存時改變排序資料;若問題只出現在某個語言版本,應優先檢查整合與同步設定。
排查時可先清除相關快取,再確認問題是否限定於某個語言、元件或登入狀態;用無痕視窗交叉測試後,再進一步檢查外掛與程式碼。
五步驟把整站分類順序整理到位
講了這麼多機制,換成可以直接照做的行動方案。不論你的網站現在是什麼狀態,照這五步走一遍,分類排序這件事就能從「每次想起來就頭痛」變成「一次整理、長期受用」。
- 盤點全站分類,決定商業優先級。把所有分類(文章分類、商品分類)列出來,依「這個分類對我的營收或內容主軸有多重要」排優先。這一步跟工具無關,純粹是策略。先有優先級,再談排序。
- 釐清你的痛點是哪一種順序。對照前面那張三種順序的表,確認你想改的是 term order、menu order、還是 post order。這決定了你要走哪條路。
- 優先用選單解。如果你的痛點是側邊欄或頂部導覽的分類順序,先用「自訂選單小工具」取代「分類小工具」,零相依、最穩。能用選單解的,不要裝外掛。
- 真的需要 term-order 才裝外掛。確認痛點是 term order 本身、而且選單法覆蓋不到的區塊(例如佈景主題的分類列表、商品分類區塊),再裝一支 Category Order and Taxonomy Terms Order 這類外掛,排完立刻備份一次。
- 驗證與固定。清快取、用無痕視窗確認前後台一致、把排序結果寫進網站維護文件,並用測試還原確認相關資料已被備份。
分類排序的核心是讓導覽符合內容優先級。先確認要改的是選單、分類項目還是分類頁內的內容,再選擇內建介面、外掛或程式碼,會比先裝工具穩妥。
常見問題
為什麼裝了排序外掛,前台分類順序還是沒變?
WordPress 分類排序跟文章排序有什麼不同?
WordPress 自訂分類法也能排序嗎?
停用排序外掛之後,原本設好的順序還會保留嗎?
分類的先後順序會直接影響 SEO 排名嗎?
操作步驟
- 安裝外掛並設定拖曳權限到「外掛 → 安裝外掛」搜尋 Category Order and Taxonomy Terms Order(作者 nsp-code),安裝並啟用;再到「設定 → 分類法詞彙排序」把 Minimum Level 設為編輯以上,避免內容編輯誤動排序。
- 拖出分類順序到「文章 → 分類法排序」用滑鼠拖曳調整分類前後順序,拖完即時儲存,不用再按存檔。商品分類則到「商品 → 分類法排序」操作。
- 切換小工具顯示層開關到「外觀 → 小工具」把分類區塊(商品則用 Product Categories 區塊)放進側邊欄,點開後把「排序方式」從預設的「名稱」改成「分類排序」,存檔。這一步沒做,前面排再久都不會顯示。
- 前台驗收並清快取用無痕視窗開前台確認順序真的更新;沒變就先檢查顯示層開關,再清主機、外掛、瀏覽器三層快取,最後才懷疑外掛或主題覆寫。