seno.ccWebデザイナーと2匹のハリネズミ

seno.cc > 日記 > 【簡単】wordpressで記事タイトルの表示文字数を制限する方法

【簡単】wordpressで記事タイトルの表示文字数を制限する方法

2011
08/09
Share Button

ブログを構築する際、記事一覧ページではタイトルの文字数を制限したい方も多いはず。そこで、サイドバー等でも使える記事タイトルの文字数制限方法をご紹介します。
見た目を気にしすぎて過度な省略を行うのも考えものですが、適度な文字数におさめる事で見やすく、使いやすいホームページ作りを心がけましょう。

  1. 使用ソース
  2. 使用方法

使用ソース

今回は最新記事のタイトルを例に説明します。

まず、最新記事を表示したい部分に以下のソースを挿入します。

<?php 
$posts = get_posts('numberposts=3&order=desc'); ?>
 <ul>
 <?php foreach($posts as $post): ?> 
<li><a href="<?php the_permalink(); ?>">
<?php 
echo mb_substr($post->post_title, 0, 17).'...'; ?>
</a>
</li> <?php endforeach; ?>
 </ul>

これで導入は終わり。実にあっけない。

使用方法

mb_substr部分の17となっている数値が表示させたい文字数なのでここを変更すればオーケー。

<?php 
echo mb_substr($post->post_title, 0, 17).'...'; ?>

ただし、英字前提の数えになっているようなので実際にぴったりこの文字数が表示されるという訳ではありません。表示を確認しながら調整してみてくださいな。
 
2列目のnumberposts部分の数値を変更すれば表示する件数を変更することができます。
上記の数値は当サイトのサイドメニューに表示した最新記事のものです。
ちなみにmb_というタグは文字に関係する関数で、過去に紹介した「wordpressで本文の表示文字数を制限する方法」も見てもらえれば使い方の参考になると思います。
まだまだmb_を用いた関数はあるようなので、そのうちまた紹介できたらいいなーと思ってます。

  • sato

    他の参考サイトでの記述を試しても有効にならなかったのですが、こちらのコードを試したところうまくいきました。
    ありがとうございました。

  • sato

    追記させていただきます。
    文字数での制限は出来ますが、行数での制限というのは出来ないのでしょうか?
    「3行を超える場合、2行までにおさめる」といった具合です。

    • seno

      コメントありがとうございますー。
      使用ソースの2行目 numberposts=3 部分が「行数」の指定になっているので、
      調整してみてください。

  • sato

    回答ありがとうございます。
    思い通りの形になりました。

    • seno

      お 良かったですね^^
      また何かあればよろしくお願いしますー!