Blog

【WordPress】the_title()に文字数制限

2013.10.18 2020.10.25 WordPress

記事タイトルを一覧表示するときなどに、レイアウトなどの関係で記事タイトルの文字数を制限したいときがあります。

そういうときには

<?php the_title(); ?>

を下記のように書き換えます。

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

記事タイトルの文字数を20文字に制限しています。「20」の部分を変えれば任意の文字数に変更できます。

しかしこのままだと、タイトルが制限文字数以内の場合でも後ろに「…」が付いてしまいます。

そのため、if文を使って制限した文字数以上のときは省略して「・・・」を、制限文字数以内のときはそのまま表示されるようにします。

制限文字数以上のときだけ省略記号をつける

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