如何在 WordPress 中自動截短博客文章標題

WPressize Me

01/04/2023

為什麼要在 WordPress 中使用 PHP 截短文章標題?

在 WordPress 中使用 PHP 截短文章標題,可以讓你更好地控制標題的長度和在網站上的顯示方式。比方說,你可能希望在首頁上截短長文章標題,以保持博客設計的一致性。

注意:有些用戶僅希望使用較短的文章標題來優化 SEO,這種情況下,你不需要截短標題。只需使用 WordPress 的 SEO 插件來縮短標題標籤即可。更多細節請參考我們的 All in One SEO 設置指南。

方法 1:使用 WordPress 函數截短文章標題

最簡單的方法是通過向 WordPress 文件中添加 PHP 代碼來截短標題。如果你之前沒有做過這類操作,可以參考我們的指南。大多數教程會告訴你直接在主題的 functions.php 文件中添加代碼,但這可能導致錯誤甚至破壞你的网站。

因此,我們建議使用免費的 WPCode 插件,並遵循我們的自定義代碼添加指南。

首先,安裝並激活 WPCode 插件。激活後,選擇 Code Snippets » + Add Snippet 選項,接著點擊‘Add Your Custom Code (New Snippet)’,然後點擊‘Use snippet’。

在新的頁面中輸入代碼段標題並添加以下代碼:

function max_title_length( $title ) { $max = 35; if( strlen( $title ) > $max ) { return substr( $title, 0, $max ). " …"; } else { return $title; } } add_filter( 'the_title', 'max_title_length');

此代碼將在 WordPress 文章循環中執行,並將文章標題縮短至 35 個字符。你只需修改 $max 變量即可調整標題長度。

選擇‘PHP Snippet’作為代碼類型,啟用該代碼段並保存。啟用後,標題將被截短,無論它們出現在網站的哪裡。

方法 2:通過更改主題文件截短標題

另一種方法是直接在主題文件中添加代碼,這樣你可以更靈活地控制標題截短位置,例如僅在首頁截短標題,但在文章頁面顯示完整標題。

使用以下代碼替換主題文件(如 index.php)中的 the_title 標籤:

<a href="<?php the_permalink() ?>"> <?php $thetitle = $post->post_title; $getlength = strlen($thetitle); $thelength = 25; echo substr($thetitle, 0, $thelength); if ($getlength > $thelength) echo "..."; ?> </a>

此代碼將標題設置為 25 個字符,並在超出部分添加省略號‘…’。

修改並保存代碼後,將其上傳至主題目錄即可。

提示:更新主題會丟失這些更改。參考我們的指南以避免這個問題。

希望這篇文章幫助你學會使用 PHP 截短 WordPress 文章標題。更多相關操作可參考我們的其他指南。若你喜歡此文章,請訂閱我們的 YouTube 頻道,並在 Twitter 和 Facebook 上關注我們。



Related Posts

  • 2024-07-20
  • WordPress 主题

您是否想在 WordPress 中為不同頁面使用多個佈景主題?可以自訂網頁的外觀和布局,為文章、頁面和部分區域建立模板。但是如果您想為網站的某些部分或頁面使用完全不同的佈景主題呢?本文將指導您如何在 WordPress 中為頁面使用多個佈景主題。

閱讀更多
  • 2024-07-19
  • WordPress 主题

您是否想在 WordPress 網站上添加回頂效果?這種效果在頁面較長時非常有用,可以讓用戶輕鬆返回頁面頂部,提升網站的用戶體驗。本文將教您如何使用 jQuery 和插件在 WordPress 中添加平滑回頂效果。

閱讀更多
  • 2024-07-13
  • WordPress 主题

您是否想在 WordPress 中創建一個自定義頁面?自定義頁面允許您使用與網站其餘部分不同的佈局。許多 WordPress 網站使用自定義頁面佈局來建立銷售頁面、登陸頁面、網路研討會頁面等。在這篇文章中,我們將向您展示如何輕鬆地在 WordPress 中創建自定義頁面。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>