抜粋文に入力がない時はthe_excerptで抜粋文を表示させない
WordPressのテンプレートタグthe_excerpt()は、投稿の抜粋フィールドに入力がない時は本文から110文字(日本語の場合)を抜粋して抜粋文を表示します。
抜粋フィールドに何か入力がある時のみ表示させ、入力がない時は表示させないようにするコードです。
フィルターフック「excerpt_mblength」と「excerpt_more」に対して、functions.phpに以下のコードを記述します。
1 2 3 4 5 6 7 8 9 |
// 抜粋欄に入力がない時は抜粋文を表示させない function my_excerpt_mblength($length) { return 0; } add_filter('excerpt_mblength', 'my_excerpt_mblength'); function my_excerpt_more($post) { return ''; } add_filter('excerpt_more', 'my_excerpt_more'); |
【補足】
- 表示文字数を指定したい場合は、一つ目の関数のreturn値に文字数を「return 50;」のように指定します。
- 通常は文字列の最後に[…]が付きますが、それを変更したい場合は二つ目の関数のreturn値を空にしないで変更したい文字列に変えます。
- WordPressデフォルトのプラグイン「WP Multibyte Patch」を有効化していないと、本文からの抜粋文抽出は機能しないので、有効化していることを前提にします。