WordPress | 記事を抜粋表示する関数the_excerpt()の使い方とカスタマイズ

PHP
スポンサーリンク

まとめ

the_excerpt() は WordPress の投稿本文を短く要約して表示するための関数です。記事一覧やアーカイブページでよく使われ、抜粋文字数や末尾の「[…]」などをカスタマイズできます。


the_excerpt() の基本

  • 役割: 投稿本文の抜粋(要約)を表示するテンプレートタグ
  • 基本構文:
<?php the_excerpt(); ?>
PHP
  • 挙動:
    • 投稿編集画面の「抜粋」欄に入力がある場合 → その内容を表示
    • 入力がない場合 → 本文冒頭から 日本語版は110文字(英語版は55文字) を自動生成
    • 文字数超過時は末尾に「[…]」が付与
    • 本文に <!--more--> タグがある場合 → そこまでを抜粋として取得

カスタマイズ方法

1. 抜粋文字数の変更

functions.php に以下を追加:

function custom_excerpt_length($length) {
    return 80; // 文字数を80に変更
}
add_filter('excerpt_length', 'custom_excerpt_length');
PHP

2. 末尾の「[…]」を変更

function custom_excerpt_more($more) {
    return '...続きを読む'; // 好きな文言に変更
}
add_filter('excerpt_more', 'custom_excerpt_more');
PHP

3. HTMLタグを残したい場合

通常は pbr タグが自動挿入されますが、フィルターを使って制御可能:

remove_filter('the_excerpt', 'wpautop'); // 自動挿入を無効化
PHP

4. 固定ページやカスタム投稿タイプで利用

管理画面の「抜粋」フィールドを有効化する必要あり。
functions.php に以下を追加:

add_post_type_support('page', 'excerpt');
PHP

the_excerpt() と get_the_excerpt() の違い

  • the_excerpt(): 抜粋を直接出力(echo)する
  • get_the_excerpt(): 抜粋を文字列として取得できる(変数に格納可能)

よくあるカスタム例

  • 記事一覧で 文字数を短めにして「続きを読む」リンクを追加
  • SEO目的で 抜粋を手動入力して検索結果に最適化
  • カードデザインやブログ一覧で 抜粋を整形して表示

結論

the_excerpt() は記事一覧やアーカイブで必須級の関数です。文字数や末尾記号をフィルターで簡単に変更できるので、テーマに合わせてカスタマイズすると見栄えやユーザビリティが向上します。

PHPWeb
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました