找我們做網站
↑
Wordpress · WordPress 客製與程式碼

WordPress 文章摘要長度設定:用函數為不同文章類型設定字數

WordPress 客製與程式碼發布 2019.08.13更新 2026.10.02閱讀約 5 分鐘
WordPress 文章摘要長度設定:用函數為不同文章類型設定字數

重點整理
彙整頁的文章摘要長短不一會讓版面參差不齊。在 functions.php 加入 excerpt_length 函數即可設定摘要長度,再用 post_type 判斷替一般文章與自訂文章類型設不同長度;另一段 excerpt_more 函數可修改摘要結尾的「…」。中文字數換算與英文不同,數值可多試幾次。

WordPress 文章摘要設定 對於站長而言是比較麻煩的部分,因為並不是每一個主題自帶的網頁建構器都會有摘要長度設定,當每一篇文章第一個段落字數不同時,在文章分類或標籤的彙整頁面就不會顯示的整齊一致,每個文章區域變得有高有低,相當不美觀。另外如果說網站中有自定義的文章類型,摘要的長度更是難以設定,只能以寫入函數的方式來做控制,而本篇教學就是要分享兩段簡單的 function ,只需修改定義好的摘要長度數值,就能設定不同類型的文章所顯示的摘要長度,可以節省一些修改網站樣式的時間程式。

以 post_type 定義彙整頁面摘要長度 

第一步:下方有兩段函數,第一段是設定 post_type 為 “文章 ” 的摘要長度,在 WordPress 中 post_type 是文章、頁面、商品等主要網頁類型的總稱,並非單指文章,這一點要先弄明白; 而第二段則是在摘要文字的結尾處加入 ” …  ”  ,也就是在 excerpt_more 的位置顯示,如果不想要顯示可以不需要加入第二段函數。

第二步:開啟主題編輯器在 functions.php 檔案結尾處貼上函數,更新前請記得設定 return 的數值,這裡指的是字元數,請注意 WordPress 都是以英文字母來計算字元數,中文的部分為一個中文字等於兩個字元,因此在設定中文字元數時範圍可適當拉大,一次輸入太多或太少效果會不太明顯。

WordPress 文章摘要設定
WordPress 文章摘要設定

第三步:下圖為設定 WordPress 預設文章摘要長度的實際顯示樣式。

WordPress 文章摘要設定
WordPress 文章摘要設定

第四步:如果要要同時設定 WordPress 文章與自訂文章類型的摘要長度,可以使用下方的 function,使用 if…. else if 條件是就可以定義不同文章類型的摘要長度。

第五步:以同樣的方式加入函數,在其他文章類型中 applications 是筆者在自訂文章類型對 post_type 所定義的值,大部分自訂文章類型的程式碼都會寫在子主題的 function.php 中,可以使用搜尋的方式來找出 post_type 給定的名稱。

WordPress 文章摘要設定
WordPress 文章摘要設定

第六步:下方是筆者給 Applications 這個文章類型摘要長度為 10 的範例圖片。

WordPress 文章摘要設定
WordPress 文章摘要設定

手動摘要和自動摘要該怎麼選?

  • 自動摘要:WordPress 從內文開頭截取,省事但常截到「歡迎回來」這類開場白,或在句子中間斷掉。
  • 手動摘要:在文章編輯畫面右側的「摘要」欄位自己寫,可以直接說重點,列表頁看起來也比較整齊。

重要的文章與商品建議寫手動摘要,一兩句講清楚讀者能得到什麼。SEO 外掛的「說明」欄位是給搜尋結果用的,和文章摘要是兩回事,有些主題會共用,有些不會,要分別確認。

不改程式碼,用 CSS 讓摘要高度一致

如果目的是讓列表卡片一樣高,也可以不改摘要字數,用 CSS 限制顯示的行數:

  • 對摘要的元素加上 display: -webkit-box;、-webkit-line-clamp: 3;、-webkit-box-orient: vertical;、overflow: hidden;,超過 3 行的部分會自動以「…」結尾。
  • 這個做法不受中英文字數計算影響,手動摘要也同樣適用。
  • CSS 寫在「外觀 → 自訂 → 額外的 CSS」,不必碰 functions.php。

要注意被隱藏的文字仍在網頁原始碼裡,只是看不到。

常見問題

WordPress 文章摘要長度要在哪裡設定?

佈景主題或頁面編輯器有設定欄位時,直接在那裡調整最簡單,例如 Elementor 的 Posts 小工具就有摘要長度。沒有的話,在子主題 functions.php 用 excerpt_length 這個 filter 回傳你要的數字。

為什麼設定了摘要長度,中文摘要還是不準?

摘要長度的計算方式依網站語系而定,中文和英文的計算單位不同,設定的數字不一定剛好等於中文字數。調整後到前台實際看幾篇,再依需要增減數值。

文章有手動填寫摘要,函數還有用嗎?

沒有作用。excerpt_length 只影響自動擷取的摘要,文章編輯畫面的「摘要」欄位有填文字時,WordPress 會完整顯示你填的內容。要統一長度,就把手動摘要寫成差不多的字數。

結語

特別提醒,使用本篇文章所分享的函數,必須是在文章編輯頁面中 ” 內容摘要 ” 這個欄位是空白的狀況下,才為按照函數設定來顯示文章摘要,也就是說必須要讓網站自動抓取文章內容第一段文章,才能透過函數控制文章摘要長度,因此在使用函數前請先檢查文章的內容摘要欄位是否手動輸入的文字喔!

鵠學苑・鵠崙設計鵠崙設計 2014 年成立,專注 WordPress 網站開發,400 多個網站在我們自己的主機上運作。鵠學苑的文章由團隊實際操作後整理,工具與外掛的功能以撰文當時為準。
鵠崙設計

不想自己摸索,
就交給我們做。

外掛設定、主機效能、改版搬家,這裡寫的每一件事,都是我們每天在客戶網站上做的工作。留下需求,1 個工作天內回覆。