ブログカードなどで投稿記事のタイトルや本文を表示するとき、全部表示すると長すぎてしまう事があると思います(特に本文)
今回はWordPressで投稿タイトルと本文を出力する文字数を制限する方法について解説していきます。
ただし文字数ではなく行数で制限したい場合もあると思います。
行数で制限する方法は以下の記事を参照下さい。
続きを見る【CSS】文字数制限(行数制限)して3点リーダーを表示させる方法(複数行、IE対応)
(有料になっていたらすいません🙇♂️)
WordPressで出力する投稿記事タイトルの文字数を制限する方法
まず通常のタイトルの出力はこのように書きます。
<?php the_title(); ?>
しかし文字数を制限しないと以下のように制限なく表示されます。
これを文字数制限するには、このように書きます。
<!-- 文字数制限なし -->
<?php the_title(); ?>
<!-- 40文字制限 -->
<?php echo wp_trim_words( get_the_title(), 40, '…' ); ?>
そしてこのように表示されます。
もしタイトルの文字数が40文字以下であれば『…』は表示されません。
WordPressで出力する投稿記事本文の文字数を制限する方法
まず投稿本文の出力はこのように書きます。
<?php the_content(); ?>
ただしこれでは全部表示してしまいます。
本文を抜粋する時は以下のテンプレートタグを使います。
<?php the_excerpt(); ?>
こちらは全部表示ではなく文字数が制限されますが、デフォルトでは110文字制限となります。
そして110文字以上の場合は[…]と省略されます。
これを文字数制限するには、このように書きます。
<!-- 文字数制限なし(本文の抜粋) -->
<?php the_excerpt(); ?>
<!-- 40文字制限 -->
<?php echo wp_trim_words( get_the_content(), 40, '…' ); ?>
そしてこのように表示されます。
こちらもタイトル同様、もし本文の文字数が40文字以下であれば『…』は表示されません。
制限文字数以上の場合、末尾に表示する省略文字を変更
また制限文字数を超えた場合に末尾に表示する省略文字の『…』は変えることも出来ます。
<!-- タイトル40文字制限 -->
<?php echo wp_trim_words( get_the_title(), 40, '[続く]' ); ?>
<!-- 本文40文字制限 -->
<?php echo wp_trim_words( get_the_content(), 40, '[続く]' ); ?>
まとめ
今回はWordPressで出力する投稿記事のタイトルと本文の文字数を制限する方法を解説しました。
これは地味に必須な実装なので、必ず実装できるようにしておきましょう。
以上になります。