ナビゲーションリンクのタイトル文字列を切り詰める

個別エントリーのページ(コメントやトラバの表示されているページです)を見ると記事の一番頭の部分に

≪ 記事タイトル | メイン | 記事タイトル ≫

というナビゲーションのリンクがありますがこちらのタイトルが長かったりすると改行されて見栄えが悪くなります。

そこで長いタイトルを指定の文字数で切り詰めるカスタマイズをしました。

参考にさせていただいたサイト

クロスブリードさんのタイトルを指定文字数で切り詰め(mb_strimwidth)

ありがとうございました。

以下やり方

まずはMTがPHP化されていることが前提になります。

MTのPHP化は非常にメリットが多いのでされていない方はこれを機にされてみてはいかがでしょうか?

文字を切り詰める方法は
mb_strimwidth()
というPHPの関数で行います。

mb_strimwidth(『文字列』,『始まりのバイト位置』,『最大バイト数』,『カットした後に表示する文字列』,『エンコード』)と書きますので

個別エントリーのテンプレートを開き下記のナビゲーションリンク部分

<MTEntryPrevious>
<a href="<$MTEntryPermalink$>">« <$MTEntryTitle$></a> |
</MTEntryPrevious>
<a href="<$MTBlogURL$>">メイン</a>
<MTEntryNext>
| <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> »</a>
</MTEntryNext>

こちらを

<MTEntryPrevious>
<a href="<$MTEntryPermalink$>">≪
<?php
$str = "<$MTEntryTitle$>";
$str = mb_strimwidth ($str, 0, 24, "…",utf8);
?>
<?php echo($str);?>
</a> |
</MTEntryPrevious>
<a href="<$MTBlogURL$>">メイン</a>
<MTEntryNext>
| <a href="<$MTEntryPermalink$>">
<?php
$str = "<$MTEntryTitle$>";
$str = mb_strimwidth ($str, 0, 24, "…",utf8);
?>
<?php echo($str);?>
≫</a>
</MTEntryNext>

に上書きしました。

内容を簡単に説明しますと

$str = "<$MTEntryTitle$>";

<$MTEntryTitle$>(←タイトルのこと)を$strに代入してから

mb_strimwidth ($str, 0, 24, "…",utf8)

$strの文字列の0バイトから24バイトまでの文字列に『…』をくっつけてutf8の文字コードで吐き出す。

という感じです。

メインをはさんで前と後ろの記事のリンクをそれぞれ同じ関数で切り詰めてます。

これで長いタイトルでも大丈夫!
他にもプラグインで切り詰める方法もあるようですがこちらのほうが簡単そうなのでこちらでやりました。


URL : http://www.eternalheart.com/cgi/mt/mt-tb.cgi/350

Powered by Ajax Comments

楽天アフィリエイト

eternalheart.com

『MyMinCity』

クリックしていただくと街が育っていくゲームです。

http://negishi.myminicity.com/

どうぞアクセスしてください!

Calendar

Recent Entries
Recent Comments
Recent Trackbacks
Blog People
 
Search this site

キャッシュ使用
ダイエット中!
eternalheartの体重
 
Tetsu

2004_0104_100306.jpg

横浜で生まれ育ち、結婚後も横浜在住のハマっこです。

ワーホリで行ったオーストラリアが忘れられません。
また行きたい!!

Blog Pick up
Category
Monthly Archives
  • 2008年
    • 8 [2]
    • 7 [6]
    • 6 [3]
    • 5 [9]
    • 4 [6]
    • 3 [7]
    • 2 [2]
    • 1 [6]
  • 2007年
    • 12 [16]
    • 11 [22]
    • 10 [4]
    • 9 [3]
    • 8 [6]
    • 7 [5]
    • 6 [7]
    • 5 [5]
    • 4 [12]
    • 3 [16]
    • 2 [3]
    • 1 [13]
  • 2006年
    • 12 [19]
    • 11 [12]
    • 10 [24]
    • 9 [16]
    • 8 [24]
    • 7 [7]
    • 6 [15]
    • 5 [33]
    • 4 [20]
    • 3 [33]
    • 2 [20]
    • 1 [11]
  • 2005年
    • 12 [11]
    • 11 [5]
    • 10 [11]
    • 9 [14]
    • 8 [28]
    • 7 [10]
    • 6 [11]
    • 5 [5]
    • 4 [1]
    • 3 [1]
    • 2 [1]
    • 1 [6]
  • 2004年
    • 12 [17]
    • 11 [18]
    • 10 [3]
    • 9 [7]
    • 8 [8]
    • 7 [23]
    • 6 [9]
    • 5 [1]
    • 2 [1]
    • 1 [2]
  • 2003年
    • 12 [1]
    • 10 [3]
    • 9 [3]
    • 8 [6]
    • 7 [2]
    • 6 [3]
    • 5 [2]
    • 4 [7]
    • 3 [9]
    • 2 [7]
    • 1 [13]
  • 2002年
    • 12 [9]
    • 11 [6]
    • 10 [36]
    • 9 [25]
    • 8 [11]
    • 7 [31]
    • 6 [33]
    • 5 [16]
    • 4 [40]
    • 3 [41]
    • 2 [37]
    • 1 [36]
  • 2001年
    • 12 [20]
    • 11 [22]
    • 10 [20]
    • 8 [4]
    • 7 [6]
    • 6 [9]
    • 5 [3]
    • 3 [8]
    • 2 [6]
    • 1 [5]
  • 2000年
  • 1999年
Mail Form