「WordPressの記事のタイトルが長すぎて、フロント画面で見るとデザインが崩れて困ってしまう…」
なんてことが稀にありますが、the_title()で出力されるタイトルに表示制限をかける方法をまとめました。
「functions.phpで制御する」方法と「テーマファイル側でタイトルの文字数を表示制限する」方法の2種類あります。
functions.php で表示文字数を制限する方法
テーマファイル内のfunctions.phpをカスタマイズして、タイトルの文字数を制限する方法です。「30文字」で表示制限してそれ以後は「…」で省略する
1 2 3 4 5 6 7 8 9 |
<?php function titlelimitchar($title){ if(mb_strlen($title) > 30 && !(is_single()) && !(is_page())){ $title = mb_substr($title,0,30) . "…"; } return $title; } add_filter( 'the_title', 'titlelimitchar' ); ?> |
テーマファイル側でタイトルの文字数を表示制限する方法
index.phpやarchive.phpなどの個々のテンプレートファイル内で、タイトルの出力部分に表示文字制限をかけてあげる方法です。「30文字」で表示制限してそれ以後は「…」で省略する
1 2 3 4 |
<?php if (strlen($post->post_title) > 30) { echo mb_substr(the_title($before = '', $after = '', FALSE), 0, 30) . '…'; } else { the_title(); } ?> |
コメント