投稿記事のタイトル文字数に制限を掛けて表示する方法【WordPress】

投稿記事のタイトル文字数に制限を掛けて表示する方法【WordPress】

WordPressの投稿記事一覧のタイトル文字数に制限を掛けて表示する方法です。
TOPページに新着情報として数件だけ記事のタイトルリンクを表示させることがありますが、タイトルの文字量が多い投稿記事は2行になったりします。それを全て指定の文字数以下に制限して、1行に収めます。

固定ページの記述

固定ページ用のテンプレート

ファイル名 : page-ttlmozi.php
Template Name : タイトル文字数制限TPL

を用意して以下のphpコードを記述してます。

<ul>
<?php
query_posts('post_type=post&order=DESC&orderby=date&showposts=10');
if(have_posts()) : while(have_posts()) : the_post();
?>
<li><a href="<?php the_permalink(); ?>">
<?php
if(mb_strlen($post->post_title,'UTF-8')>25) {
  $title= mb_substr($post->post_title,0,25,'UTF-8');
  echo $title.…;
} else {
  echo $post->post_title;
}
?>
</a></li>
<?php
endwhile; endif;
?>
<?php wp_reset_query(); ?>
</ul>

固定ページ内の処理フロー

1.query_postsで最新の投稿記事10件を取得

2.取得した記事数分ループ

3.記事リンクとタイトルを取得

4.記事タイトルが25文字より多い場合は25文字まで表示させ末尾に「…」をつなげて表示

5.記事タイトルが25文字以下の場合はそのままタイトルを表示

 

※本サイトで試してみました。表示結果は以下の通りです。
タイトル文字制限(25文字以降は…)

 

※流用される場合は自己責任でお願いします。