前言
在 WordPress 主題開發或客製化時,常會需要調整文章摘要(excerpt)結尾的文字,預設為「[…]」的顯示可能不符合設計需求。這段 PHP 程式碼示範如何用最簡單的方式修改摘要結尾文字,適合有基本 WordPress 開發經驗的工程師或自學者。
為什麼要修改摘要結尾文字
WordPress 預設的摘要結尾通常是「[…]」,這是用來表示文章內容被截斷。若想讓網站風格更統一或更符合閱讀體驗,可以透過過濾器(filter)自訂這段文字。
透過 add_filter 修改 excerpt_more
關鍵在於 WordPress 提供的 excerpt_more 過濾器,可以攔截並改寫摘要結尾文字。以下是程式碼片段:
add_filter('excerpt_more', function($more) {
return '…';
});
這段程式碼使用匿名函式(Closure)直接回傳一個單一的省略符號「…」,取代預設的「[…]」。
程式碼解析
add_filter是 WordPress 用來掛載過濾器的函式。'excerpt_more'是過濾器名稱,專門用來修改摘要後綴。- 匿名函式接收
$more參數(原本的結尾文字),但這裡直接忽略它,回傳自訂字串。
這種寫法簡潔且易於維護,尤其適合只想快速改變摘要結尾的情境。
實務應用與延伸
- 可將回傳字串改成其他符號或文字,例如「繼續閱讀」搭配連結。
- 若需要更複雜的摘要控制,可結合
excerpt_length過濾器調整摘要長度。 - 注意部分主題或外掛可能會覆寫此過濾器,需確認優先權設定。
常見問題
-
為什麼修改後沒效果? 可能是主題直接使用自訂函式產生摘要,未使用 WordPress 預設的
the_excerpt()函式。 -
如何同時修改摘要長度? 可搭配
excerpt_length過濾器一起使用。
完整程式碼
<?php
add_filter('excerpt_more', function($more) {
return '…';
});