WordPress 記事タイトルの文字数を制限する方法|WPカスタマイズ

wordpress_logo01

前回、投稿記事を一覧表示する方法についてメモしました。その内容に関連して、その一覧のタイトルが長くなってしまった場合、省略して短くしたうえで「・・・」続きますよ♪と表示する方法についてメモしました。

タイトルの文字を制限してみよう!

それでは、最初はとりあえず30文字くらいにしてみます。

編集するファイルはテーマが「Apollo」の場合ですと、content.phpになります。

PHPファイルを見てみると、h2タグ内でタイトルは下記のように記述されています。

[php]
<?php } ?>
<div class="loop-entry-content">
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="entry-text">
<?php the_excerpt(); ?>
</div><!– l.oop-entry-text –>
</div><!– .loop-entry-content –>
[/php]

上記の内容を「条件分岐」を使ってタイトル部分を変更します。

条件分岐とは簡単に言うと…

if … (もし条件のとおりだったらAの処理を行う)
A
else … (条件のとおりでない場合はBの処理を行う)
B
endif

という記述の仕方をします。

content-page.phpのh2タグ内の記述を下記のように変更します。

[php]
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php
if(mb_strlen($post->post_title)>30) { $title= mb_substr($post->post_title,0,30) ; echo $title. ・・・ ;
} else {echo $post->post_title;}?></a></h2>
[/php]

mb_strlen()は文字を数える関数です。
mb_substr()は先頭文字からの文字数をカウント。

もし投稿タイトルが30文字以上だったら、0~30文字を$titleの変数に置き換えた後、「・・・」を追加して表示するという内容になっています。

「30」のところは自由に置き換えて、調整してみてください。

タイトルとURLをコピーしました