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

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

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

そういうときには

<?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;
  }
?>

WordPressテーマ『HIGHLAND』公開しました

WordPressテーマ『HIGHLAND』を公開しました

このブログで紹介しているカスタマイズを、これでもかと盛り込んだ高性能なテーマになっております。商用・非商用問わず無料、是非ご利用ください。

柴田 竹思

柴田 竹思

日本&ベトナム二拠点生活中のWeb系フリーランス。最近は育児6:仕事4のバランスで生活してます。これでもかってくらい奥さんの尻に敷かれてる座布団系男子です。

プロフィールはこちら