2015.12.10
WordPressWordPressでサイトを作成した際に、記事一覧ページのレイアウトの関係で記事タイトルの文字数を制限して表示したい場合が出てきます。例えば、レイアウトが崩れてしまうために記事タイトルを20文字で表示させ、レイアウトを崩さないよう対処する、など。
通常記事タイトルを取得するには
<?php the_title(); ?>
というPHPコードを記述することで取得することが可能になりますが、これでは記事タイトルをすべて表示してしまいます。
なので、記事タイトルの文字数を制限して表示させたい場合には以下のPHPコードを記述してあげましょう。
<?php if(mb_strlen($post->post_title)>制限したい文字数) { $title= mb_substr($post->post_title,0,制限したい文字数) ; echo $title. '...' ;} else {echo $post->post_title;}?>
このように記述することで、制限したい文字数分表示し、もし記事タイトルがその制限数を超える文字数だった場合は以降を「…」と表示させるようにできます。
試しに記事タイトルを20文字に制限したい、という場合には以下のように記述します。
<?php if(mb_strlen($post->post_title)>20) { $title= mb_substr($post->post_title,0,20) ; echo $title. '...' ;} else {echo $post->post_title;}?>
このように記述することで、記事タイトルが20文字以下の場合にはそのまま表示し、20文字以上の場合には21文字以降を「…」と省略して表示してくれます。
まとめ
以上が記事タイトルの文字数を制限して表示させる方法でした。この方法はボックスレイアウトを採用している時に使えたりするので、是非とも覚えましょう!