説明
excerpt_length は、自動生成される抜粋の長さ(語数)を変更するフィルターです。
基本構文
apply_filters( 'excerpt_length', int $number )
引数
$number:語数(既定は55)
戻り値
語数を返します。
使い方(サンプル)
add_filter( 'excerpt_length', function() {
return 80;
}, 999 );
注意点
- 日本語は単語の区切りがないため、文字数での制御には別途対応が必要です。
- 優先度を大きくして、他の設定を上書きします。
実務での使いどころ
- 自動で作る抜粋(
the_excerpt())の、長さを、変えるとき。
よくあるミスと対処
- 値を返していない。
- 手動で入力した抜粋には、効かない。自動で作る抜粋だけが、対象。
- 日本語の環境では、「単語数」ではなく「文字数」で数えられる。
- テーマや、他のプラグインの設定に、上書きされる。優先度を、大きく(
999など)する。
NG例
add_filter( 'excerpt_length', function () {
return 80; // 優先度が既定の10だと、テーマの設定に上書きされる場合がある
} );
OK例
add_filter( 'excerpt_length', function () {
return 80;
}, 999 );
使い分け早見表
| フィルター | 加工する対象 |
|---|---|
excerpt_length |
自動で作る抜粋の、長さ |
excerpt_more |
自動で作る抜粋の、末尾の文字 |
wp_trim_words() |
文字列を、指定した長さに、切り詰める |

コメント