Go to top Go to bottom

WordPressには、記事の抜粋文を表示する機能が用意されています。抜粋文はビジュアルエディタ上で追加できますが、設定していない場合でも自動的に記事の冒頭をある一定の文字数で表示してくれます

投稿画面で抜粋を有効にする

「抜粋」を編集する機能は、初期状態で有効になっていません。まず[表示オプション]から抜粋を有効にします。抜粋を自動生成したい場合はこのステップは必要ありません。

表示オプション
表示オプション

投稿編集画面の右上にある[表示オプション]をクリックすると、次のように一覧が表示されます。

表示オプション一覧
表示オプション一覧

表示オプション一覧の中に[抜粋]チェックボックスがありますので、クリックして有効化します。すると、投稿画面の下の方に、抜粋編集ボックスが現れます。

抜粋編集フィールド
抜粋編集フィールド

投稿の抜粋をここに記載します。抜粋は主に記事一覧の中で内容のプレビューとして使用したり、あるいはメタタグのdescriptionやog:descriptionのコンテンツとしての用途が考えられます。

通常いちいち抜粋文を作成するのは面倒なので、本文から自動生成する場合が多いとは思いますが、ある記事のプレビューだけ特に変更したい場合などに活躍の機会があるかもしれません。

抜粋文を出力する

抜粋は、次のようにして出力できます。

<?php the_excerpt(); ?>

この関数は、次のように抜粋を出力します。

  1. 投稿画面で抜粋を追加している場合は、そのまま出力
  2. 抜粋がない場合は、「続きを読む」タグの前までを出力。110文字を超える場合は[…]を末尾に追加して省略
  3. 「続きを読む」タグがない場合は、本文の冒頭を出力。110文字を超える場合は[…]を末尾に追加して省略

自動抽出された場合、出力は次のようになります。

抜粋の出力結果
抜粋の出力結果

23のように自動抽出された場合、最大文字数の110を超えると省略されたことを示す[…]が末尾に付記されます。最大文字数や省略記号は変更することができます。

なお、この関数はWordPressループの中でしか機能しません。

日本語のようなマルチバイト文字では、110文字という最大文字数のカウントがうまく働きません。この不具合を解消するため、「WP Multibyte Patch」というプラグインを事前に有効化しておくことをおすすめします。

抜粋文を文字列として取得する

抜粋を文字列として取得するには、get_the_excerpt()を使用します。

<?php $excerpt = get_the_excerpt(); ?>

the_excerpt()と同様、この関数もWordPressループの中でしか使えないため、出力するか、文字列として取得するかの違い以外、ほとんど同じふるまいをします。ただし、the_excerpt()は抜粋を<p>タグで囲って出力しますが、get_the_excerpt()は純粋な文字列を取得します。

この性質を利用すれば、抜粋を<p>タグで囲わずに出力することもできます。

<?php echo get_the_excerpt(); ?>