本文を抜粋して出力

wordpress関数の抜粋用イラスト

the_content の関数は、本文にタグを入れることで表示の文字数を制御できますが、都度入力するのはなかなか面倒なので、その場合は the_excerpt の関数が便利です。

記事の本文から抜粋した内容を出力

the_excerpt という関数(テンプレートタグ)を使い、トップページなどに記事の本から抜粋した内容を表示させることができます。

PHP

<?php the_excerpt(); ?>

この関数で取得した抜粋は、自動的に110文字で省略され、最後に[…]が追加されます。

抜粋の文字数を変更

the_excerpt の抜粋の文字数は110文字ですが、この文字数を変更するには、excerpt_lengthフィルターを利用する為、functions.php に記述します。

functions.phpに記述

function twpp_change_excerpt_length( $length ) {
  return 40; 
}
add_filter( 'excerpt_length', 'twpp_change_excerpt_length', 999 );

これを記述して the_excerpt の関数を記載すると抜粋文字の長さが40文字に変更されますが、文字数を変更するには2行目の return XX; の数値を修正します。

抜粋の終わりの[…]を変更

抜粋の最後には[…]というのが表示されますが、この終わりの文字を変更したい場合は以下のコードを functions.php に追加します。

functions.phpに記述

function new_excerpt_more($more) {
     return 'もっと見る';
}
add_filter('excerpt_more', 'new_excerpt_more');

上記の記述では […] が もっと見る に変更されます。

任意の文字数の抜粋内容を出力

PHPには、ある文字列の中から開始文字数、取得文字数を指定した文字列を抜粋する関数 mb_substr が用意されています。

functions.php に追記をせずそのまま任意の文字数で出力するには、以下の関数を記述します。

PHP

<?php echo mb_substr( get_the_excerpt(), 0, 40 ) . 'もっと見る'; ?>

上記は40文字で、終わりの文字を もっと見る にしています。