現在大部分的 PHP 伺服器都支援了 MB 庫(mbstring 庫 全稱是 Multi-Byte String 即各種語言都有自己的編碼,他們的位元組數是不一樣的,目前php內部的編碼只支援ISO-8859-*, EUC-JP, UTF-8 其他的編碼的語言是沒辦法在 php 程式上正確顯示的。解決的方法就是通過 php 的 mbstring 函式庫來解決),所以我們可以放心的使用這個用於控制字串長度的函式:

<?php echo mb_strimwidth(get_the_title(), 0, 38, ‘…’); ?>

那麼我們只需要用上面這個函式替換 WordPress 原有的

<?php the_title(); ?>

即可,這裡我輸出了字串的第0位到第38位,根據主題的不同可以自行設定該數值,另外多餘長度部分使用“…” 代替。

注意裡面的單引號改成英文的半形單引號。。

如果不支援MB庫的話就用另外一種方法

將此檔案寫入當前主題下的functions.php

<?php

//文章標題擷取
function short_title($before = ”, $after = ”, $echo = true, $length = false) {
$title = get_the_title();if ( $length && is_numeric($length) ) {

$title = substr( $title, 0, $length );

}

if ( strlen($title)> 0 ) {

$title = apply_filters(’short_title’, $before . $title . $after, $before, $after);

if ( $echo )

echo $title;

else

return $title;

}
                  
    }
?>

提取形式:<?php short_title(”,’…’, true, ’18′) ?>

注意裡面的標點符號,改成英文半形的。。。