WordPress 文章摘要與繼續閱讀設定新手指南

在首頁、分類頁或搜尋結果頁,你大概不希望每篇文章都把全文攤開來。讀者一次只看得到一整面密密麻麻的內文,既找不到想讀的那篇,版面也拖得很長。WordPress 文章摘要(excerpt)就是為了解決這件事而存在:在文章列表只露出一小段預覽,搭配一個「繼續閱讀」連結,讓讀者點進去才看全文。

問題是,摘要在 WordPress 裡有好幾種來源,彼此還會互相覆蓋。有人在後台找不到「摘要」欄位,有人設了摘要卻發現列表頁完全沒變,也有人搞不清楚摘要跟 SEO 的 meta description 到底是不是同一個東西。這篇會把摘要的兩種產生方式、「繼續閱讀」的兩種做法、以及它們在文章列表頁怎麼呈現,從新手角度一次講清楚,並附上可以直接貼進佈景主題的程式碼。

WordPress 文章摘要是什麼,它從哪裡來

WordPress 文章摘要是一段文章的縮短版預覽,顯示在文章列表頁(首頁、分類彙整、標籤彙整、搜尋結果),而不是文章內頁。它的用途是讓讀者在列表上快速判斷要不要點進去看全文。

摘要的內容有兩個來源,理解這兩者的差別是後面所有設定的基礎。

  • 手動摘要:你在文章編輯畫面的「摘要」欄位裡親手輸入的文字。只要這個欄位有內容,WordPress 就優先用它。
  • 自動摘要:當摘要欄位留空時,WordPress 會自動擷取文章正文的開頭一段當作摘要。預設長度是「前 55 個字」(以英文單字計算),結尾接上一個「[…]」之類的符號。

這裡有個關鍵前提:摘要會不會出現在列表頁,取決於你的佈景主題在列表模板裡呼叫的是哪個函式。主題若呼叫 the_excerpt(),列表頁顯示的就是上面說的摘要;主題若呼叫 the_content(),列表頁顯示的則是整篇正文(除非用了下面會講的 more 標籤截斷)。多數現代佈景主題的彙整頁已經改用 the_excerpt(),但這不是絕對,所以你改完設定卻沒變化時,主題模板用了哪個函式是第一個要懷疑的地方。

手動摘要欄位在哪裡,古騰堡找不到怎麼辦

手動摘要欄位藏在文章編輯畫面的設定面板裡,新版區塊編輯器(古騰堡)預設常常把它收起來,這是很多新手找不到的原因。

在區塊編輯器中,打開右側的「文章」設定面板,往下找到「摘要」這個區塊,把要顯示的預覽文字打進去即可。如果右側面板裡根本沒有「摘要」這一欄,通常是被隱藏了,處理方式是:

  • 點右上角的三點選單(更多選項),進入「偏好設定」。
  • 找到「面板」或「Panels」分頁,把「摘要」(Excerpt)的開關打開。
  • 回到編輯畫面,右側設定面板就會出現「摘要」欄位。

如果是舊版的傳統編輯器(Classic Editor),摘要欄位則在編輯區下方。看不到時,點畫面右上角的「顯示選項」(Screen Options),勾選「摘要」,欄位就會出現在內文編輯框底下。

手動摘要的好處是你完全掌控那段預覽文字的內容與長度,不會被系統從正文裡硬切一段、切到一半句子斷掉。對首頁主打文章、或正文開頭沒有重點的文章,手動寫一段摘要會讓列表頁專業很多。

繼續閱讀怎麼設定,more 標籤與摘要有什麼不同

「繼續閱讀」(Read More)在 WordPress 裡有兩條路,一條是 more 標籤,一條就是上面講的摘要,兩者的運作邏輯完全不同,先分清楚再選。

more 標籤的做法是在文章正文中插入一個分隔點,WordPress 會把這個點之前的內容顯示在列表頁,之後的內容收起來,並自動補上一個「繼續閱讀」連結指向全文。它的特性是「就地截斷正文」,列表上看到的是你文章真正的開頭段落,連同其中的圖片、粗體、連結等格式都會保留。

在區塊編輯器中插入 more 標籤的方式:在你想截斷的位置點新增區塊的加號,搜尋「更多」(More),選擇「更多」區塊,文章就會在這裡出現一條分隔線。傳統編輯器則是在正文裡直接輸入 <!--more--> 這個註解標記。

要注意一個前提:more 標籤只有在主題列表模板呼叫 the_content() 時才會生效。如果主題用的是 the_excerpt(),more 標籤會被忽略,列表頁顯示的依然是摘要。

摘要的做法前面已經說過,是另外給一段獨立的預覽文字,不一定等於正文開頭。

兩種做法的取捨大致是這樣:

  • 想讓讀者在列表上看到文章真實的開頭、保留排版與圖片,用 more 標籤。
  • 想要列表頁的每則預覽長度一致、文字另外撰寫、純文字呈現,用摘要。
  • 同一個網站,通常選定一種做法貫徹到底,比較好維護;混用會讓不同文章在列表上長相不一。

the_excerpt 與 the_content 在主題裡差在哪

the_excerpt()the_content() 是佈景主題模板用來輸出文章內容的兩個函式,它們決定了列表頁到底吃摘要還是吃正文,這是「我設了卻沒變」這類問題的根源。

the_excerpt() 的行為是:有手動摘要就輸出手動摘要,沒有就自動擷取正文前段。它還會做一件事——剝除所有 HTML 標籤,所以自動摘要出來會是純文字,圖片、連結、粗體全部不見,這對列表頁的整齊度是好事,但若你以為摘要能保留排版就會踩雷。

the_content() 的行為是輸出完整正文,並且看得懂 more 標籤:遇到 more 就截斷並補上「繼續閱讀」。它會保留正文裡的所有格式與圖片。

你不一定要會寫程式才能用到這個知識,但知道差異後,排查問題就有方向。若你具備修改子佈景主題的能力,列表模板(常見於 index.phparchive.phphome.php 或區塊主題的對應模板)裡這兩個函式的選擇,就是你能調整列表呈現的源頭。沒有把握就不要直接改父主題檔案,改動會在主題更新時被覆蓋,務必透過子主題進行。

摘要字數太短或符號難看,怎麼改

自動摘要的長度與結尾符號都能改,WordPress 提供 excerpt_lengthexcerpt_more 兩個過濾器(filter)讓你覆寫預設值,程式碼貼進子主題的 functions.php 即可。

預設自動摘要是 55 個「字」,且這個字數是以英文單字為單位計算的。把長度改成 100 的寫法如下:

function ezwps_custom_excerpt_length( $length ) {
    return 100;
}
add_filter( 'excerpt_length', 'ezwps_custom_excerpt_length', 999 );

最後那個 999 是優先權,設高一點是為了讓你的設定蓋過佈景主題可能已經設過的值。

結尾的「[…]」想換成別的,例如改成中文的省略號或直接接「繼續閱讀」字樣,用 excerpt_more

function ezwps_custom_excerpt_more( $more ) {
    return '……';
}
add_filter( 'excerpt_more', 'ezwps_custom_excerpt_more' );

這裡有一個中文站長最常踩的雷:WordPress 計算摘要長度是以英文單字數為基準,一段中文常被當成「一個很長的字」處理,結果不是切不到位、就是整段中文被當成 55 個單位裡的少數幾個,導致摘要看起來異常長或異常短。換句話說,excerpt_length 設 100 對純中文文章不一定剛好是 100 個中文字。實務上對中文內容,要嘛把數值反覆試到合適、要嘛改用以字元(字)為單位重新擷取的方式處理,單純沿用英文邏輯的數值常常會失準。

還有一個前提別忘了:這些函式只在「摘要欄位空白、由系統自動擷取」時才作用。只要你在某篇文章手動填了摘要欄位,那篇就照你寫的顯示,excerpt_length 對它無效。所以調完函式卻發現某幾篇沒跟著變,先檢查那幾篇是不是被手動填過摘要。

文章摘要等於 SEO 的 meta description 嗎

不完全相等。摘要(excerpt)和 meta description 是兩個不同層級的東西:摘要管的是「文章列表頁要顯示什麼預覽」,meta description 管的是「這個頁面在 Google 搜尋結果裡顯示的那段描述」。預設情況下,兩者各走各的。

不過它們是可以打通的。早期不少站長會在佈景主題的 header.php 裡,把文章摘要透過程式輸出成 <meta name="description">,讓你手寫的摘要同時變成搜尋結果的描述文字。這個做法的精神到今天仍然成立——你手動寫的那段摘要,如果同時拿來當搜尋描述,比讓搜尋引擎自己從正文亂抓一段要精準得多。

差別在於現在多數人不再自己改 header.php,而是交給 SEO 外掛(例如常見的幾款全站 SEO 外掛)處理。這類外掛通常有獨立的 meta description 欄位,有些還能設定「沒填就自動沿用文章摘要」。如果你裝了 SEO 外掛,建議以外掛的描述欄位為主,避免自己又在主題裡輸出一份,造成同一頁出現兩段 description 互相打架。

實務上的安排可以是這樣:列表頁的預覽交給摘要欄位或 more 標籤;搜尋結果的描述交給 SEO 外掛的 meta description 欄位。兩段文字可以一樣、也可以針對不同情境微調,但要清楚它們是兩件事,不要混為一談。

從找欄位到列表呈現,新手該照什麼順序設定

回到最初的需求:你要的是列表頁乾淨、每篇露一段預覽、點「繼續閱讀」才看全文。把前面拆開講的東西收束成一條可執行的路徑,新手照著走就不會卡。

先決定走哪一條:想要列表預覽長度一致、文字另寫,就用摘要欄位,並到偏好設定把摘要面板打開;想保留文章真實開頭與排版,就在正文插入 more 區塊。接著確認佈景主題列表模板用的函式對得上你的選擇——摘要對應 the_excerpt(),more 標籤對應 the_content(),對不上就是改了沒反應的主因。最後若嫌自動摘要太長或結尾符號難看,再用 excerpt_lengthexcerpt_more 微調,並記得中文字數的計算邏輯跟英文不同,數值要實測。

設定完先到首頁與一個分類頁實際看一眼,確認預覽長度、「繼續閱讀」連結、以及點進去能正確到全文。摘要這件事本身不難,難的是搞不清楚是哪個來源在生效;只要分清楚手動摘要、自動摘要、more 標籤這三條線各自的觸發條件,列表頁要怎麼呈現,主控權就回到你手上了。

相關文章
標籤: WordPress, 區塊編輯器, 文章摘要, 繼續閱讀, excerpt