WordPressの投稿記事のタイトルの文字数を制限する

今回やりたいこと

投稿記事の一覧をスライダーとして出力したい時、投稿のタイトルの文字数が均一でないと見栄えが悪いです。

まず、管理画面側で入力文字数制限はできるのかといったところなのですが、色々調べた結果、管理画面側での制御は出来なそうでした・・・。

ただ文字数カウントを管理画面に表示させるという方法はいくつかありました(JavaScriptでの処理になります。)

今回はシンプルに出力時に文字数を決めて出力させる方法をご紹介します。

通常のタイトル出力


<?php the_title(); ?>

シンプルにタイトルを出力するときはループ内に上記のように記述しますよね。これはお馴染みだと思います。

文字数制限をしてタイトル出力


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

通常時の出力の部分をこのように書き換えると「タイトルは35文字出力して、そのあとに”…”を付ける」となります。

ですがこの場合、タイトルが35文字以内の投稿タイトルにも”…”が付いてしまいます。

タイトルが20文字なのに”…”が付いてたらおかしいですよね。よって、以下のように記述しましょう。

タイトルが制限文字数より多ければ”…”をつけてタイトル出力


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

こうすることで35文字を超えている投稿タイトルにのみ”…”が付きます。これで完了です。

参考にさせていただいた記事

今回参考にさせていただいた記事はこちらです。ありがとうございました。

related article

2020/09/10 WordPress

WordPressのブロックエディタのコンテンツ幅を広げる

2020/01/17 WordPress

マルチサイトはlogin rebuilderプラグインは使えない

2021/01/15 WordPress

WordPressの固定ページでパンくずリストを自動生成する

2021/01/20 WordPress

年度別アーカイブリンクリスト