
WordPress で記事タイトルを表示する場合は、
<?php the_title(); ?>
とか、
$post->post_title
みたいな感じで表示すると思いますが、場所によってはタイトルの文字数を調整した場合があります。そんなときは、PHP の「mb_substr()」関数で文字数を調整できます。「the_title()」の部分を、
<?php echo mb_substr( the_title(”,”,false), 0, 30, “UTF-8” ); ?>
または、
<?php echo mb_substr( $post->post_title, 0, 30, “UTF-8” ); ?>
とすれば、先頭から30文字のみが表示されます。「30」を「20」にすれば20文字のみ表示。
参考:PHPでマルチバイトの文字数を数える – 株式会社RYUS
また、30文字以上あった場合、記事タイトルの後ろに「…」を付ける場合は、
<?php
if( mb_strlen( the_title(”,”,false), “UTF-8” ) > 30 ) {
echo ‘…’;
}
?>
とすれば、タイトルが31文字以上ある場合には、末尾に「…」が付きます。30文字以内の場合には何もつきません。
例えば、このブログの上部、下部に6個の記事を並べて表示してみましたが、記事タイトルの文字数を30文字にしています。
なんか微妙に30文字になっていない場合があるような気もしますが、細かいことは気にしないということで。。
ワイルドだろぉ~。
でわでわ。
[…] echo mb_substr( the_title(”,”,false), 0, 30, “UTF-8″ ); ?>” http://dev.ontheroad.jp/archives/5140 posted at […]