工事中です

WordPress : 文字列省略

サイドメニューの「Recent Entry」に最新の投稿記事10件を一覧表示しているのですが、記事のタイトルが長く(サイドバーの幅より多く)なると、リストのレイアウトが崩れて何ともカッコ悪かったので、文字数制限をかけて、任意の文字数よりも多くなった場合には、後を省略するようにしてみました。

<完成形>

<?php
     if(mb_strlen($post->post_title)>12) {
          $title= mb_substr($post->post_title,0,12);
          echo $title.…;
     } else {
          echo $post->post_title;
     }
?>
if(mb_strlen($post->post_title)>12) 

ここ(↑)で、記事タイトルの文字数をカウント。
ここの「12」は「12文字よりも多かったら」という判定です。

$title= mb_substr($post->post_title,0,12);
echo $title.…;

ここ(↑)では、「12文字より長いと判定された場合に、「記事タイトル」の「0文字目」〜「12文字目」までを表示して、後に「…」を付ける。

最後に、

} else {
     echo $post->post_title;
}

ここで、文字数判定に引っかからなかったものまで「…」が付かないように、通常の表示になるようにしています。

今日もちょっとだけ良くなった「sun shine BLOG」

さて、次はどうカスタマイズしようかな^^

コメントを残す

メールアドレスが公開されることはありません。