初心者コーダーのための
HTML/CSS JavaScript PHP WordPress
難しい言葉や概念より、実践重視の入門ブログ
WordPress

【WordPress】the_excerpt()の文字数変更などカスタマイズする方法【本文抜粋】

【WordPress】本文の抜粋 投稿一覧ページなどで本文の一部を抜粋しよう!

投稿一覧などで記事本文の抜粋を表示させたい場合

<?php the_excerpt(); ?>

で出力することができますよね。

ただしデフォルトの場合、表示する最大文字数は110文字、それを超過した場合は末尾に[…]が付くようになっています。

今回は最大文字数や末尾のテキストを変更する方法を紹介します。

コードのコピー方法

コード右上のアイコンをクリックすることでコピーできます。

それでは本文へ、レッツゴー!

本文抜粋のカスタマイズ方法

下記をfunctions.phpにコピペすることで、出力する文字数や末尾を自由に設定することができます。

/*--------------------------------
本文抜粋(the_excerpt())操作
---------------------------------*/

// 文字数変更
function my_excerpt_length($length) {
    return 50;
}
add_filter('excerpt_mblength', 'my_excerpt_length');

// 末尾の[...]変更
function my_excerpt_more($more) {
    return '...';
}
add_filter('excerpt_more', 'my_excerpt_more');

出力される最大文字数を設定する

returnの部分がそれに該当します。
なのでサンプルでは50文字ですね。

50を好きな数字に置き換えることで、表示される最大文字数を自由に変更することができます。

末尾の[…]を設定する

こちらも同じくreturnの部分が該当します。
サンプルでは … に設定してあります。

…を好きなテキストに置き換えることで、末尾のテキストを自由に変更することができます。

設定した文字数通りに出力されていない時の対処法

実際に抜粋された文字数を数えてみると、設定した文字数通りに出力してくれない時があります。

これは、日本語の1文字が、ワードプレスさんに1文字とカウントしてもらえていないのが原因です。
全角とは罪なものです。

これは「WP Multibyte Patch」というプラグインをインストールし有効化することで対処できます。
有効化にするだけで、特に設定をする必要はありません。