投稿記事の一覧などでタイトルや本文を表示する際、一部の記事だけ文字数が多くなってしまったりなど文字数を制限したい場面があるかと思います。
そんな時に簡単に使えるWordpress関数のwp_trim_words()を解説していきます。
今回は文字数で制限しますが、行で制限したい場合はCSSで制限可能なCSSで複数行の文末を三点リーダーで省略表示する方法【CSS】をご覧ください。
WordPress関数「wp_trim_words()」とは
WordPressには抜粋表示するためのWordpress関数(テンプレートタグ)がいくつか用意されています。
その中でもよく使われるのは、本文の抜粋表示または抜粋フィールドに入力されたテキスト表示をするthe_excerpt()だと思います。
the_excerpt()は、本文か抜粋フィールドに入力されたテキストに限定されますが、今回解説するwp_trim_words()は、タイトルや本文、その他の指定したテキストをテキスト冒頭から抜粋表示する事が可能です。
また、文字列に含まれるHTMLタグは自動的に取り除いてくれます。
wp_trim_words関数の使い方
wp_trim_words()は以下のように使用します。引数は第3引数まで指定可能です。
<?php echo wp_trim_words( 表示するテキスト, 文字数, 末尾の記号や文字); ?>
それぞれの引数については以下をご覧ください。
第1引数
指定が必須の引数となります。
ここには表示するテキストを指定します。
第2引数
制限する文字数を指定します。指定しない場合は55文字となります。
第3引数
末尾に表示する記号や文字を指定します。指定しない場合は「…」となります。
指定した文字数を超える場合のみ表示されます。
wp_trim_words関数の使用例
記事のタイトルを抜粋表示
記事のタイトルを抜粋表示する方法です。記事一覧などで使用すると便利です。
<?php echo wp_trim_words( get_the_title(), 30, '…' ); ?>
記事の本文を抜粋表示
記事の本文を冒頭から抜粋表示する方法です。こちらも記事一覧などで使用すると便利です。
<?php echo wp_trim_words( get_the_content(), 80, '…'); ?>
その他のテキストを抜粋表示
その他の指定したテキストを抜粋表示する方法です。
カスタムフィールドのテキストなど、様々なテキストを指定できます。
<?php echo wp_trim_words( $text, 50, '…'); ?>
指定した文字数に制限されない場合
日本語でwp_trim_words()で指定した文字数に制限できない場合は、WordpressのプラグインであるWP Multibyte Patchを使用してみてください。
その他の抜粋・省略表示方法
その他の方法で抜粋・省略表示をするには以下の方法があります。
- the_excerpt()を使用して抜粋表示
記事を抜粋表示する関数the_excerpt()の使い方とカスタマイズ方法【WordPress】 - CSSで文字数ではなく行数で抜粋表示
CSSで複数行の文末を三点リーダーで省略表示する方法【CSS】 - PHPの関数を使って表示文字数を制限
PHPの関数を使って表示文字数を制限する方法【PHP】
さいごに
いかがでしたでしょうか。
今回は、wp_trim_wordsで記事のタイトルや本文の表示文字数を制限する方法を解説しました。
主に使用する場面は記事一覧ページ等となるかとは思いますが、様々なテキストで使用・応用可能ですのでぜひ使ってみてください。