迷える黒猫くん
投稿のタイトルや本文が長すぎて一覧ページで表示したとき表示が崩れることがあるニャ。。
タイトルや本文、抜粋の文字数が長すぎるとアーカイブページで表示が崩れることがあります。自作のテーマを作っていて、投稿のサンプルを入れて表示確認をすることがあるかと思います。例えば「テーマユニットテストデータ」を使うとこのような意地悪なページがあります。
こんな長いタイトルをつけることは稀でしょうが、一応対応しておく必要があります。
今回は関数で作成しますのでこちらを使えば各ページ使いまわせますし、ページごとに文字数も変更可能です。
コード
functions.php
まず関数を作りたいのでfunctions.php に以下の記述を加えます。
// タイトルの文字数が$num文字を超えたら省略して[...]を付与する
function title_excerpt($num)
{
echo wp_trim_words( get_the_title(), $num , '…' );
}
$numを変数として与えてあるので各ページで数字を入れてあげればその数字の文字数に調整が可能です。非常に簡単ですね!
archive.php
それでは具体的に一覧ページコードを書いていきます。タイトルを呼び出したいところ、今までこのように記入していた箇所
<?php the_title(); ?>
に指定したい文字数制限(今回は40文字に指定)を加えるためfunctions.php に記載した関数を呼び出します。
<?php title_excerpt(40); ?>
こちらで先ほどの表示が以下のように最適化されました!
コメント