WordPress 固定ページで抜粋を表示する方法

Last update 
/ Posted by Takumi Hirashima

WordPress の固定ページで抜粋を表示する方法を紹介します。
固定ページは投稿と違い、抜粋機能が最初から使用できないため、function.php にコードを追加して機能を有効化する必要があります。

  1. 抜粋の有効化
  2. 抜粋の表示
  3. 抜粋の最後の文字列を変更する

抜粋の有効化

抜粋を有効化するために functions.php に次のコードを追加します。

/*【出力カスタマイズ】固定ページで抜粋の機能を有効化 */
add_post_type_support( 'page', 'excerpt' );

コードを追加後に、管理画面から固定ページの編集を確認すると、抜粋が追加されているのが確認できると思います。

抜粋の表示

抜粋の表示は the_excerpt を使います。このテンプレートタグは、投稿の抜粋を、文末に […](角括弧+三点リーダー)がついた状態で表示されます。
このテンプレートタグはループ内のみで使用できます。抜粋の表示には、テンプレートファイルに次のコードを追加してください。

<?php the_excerpt(); ?>

抜粋の出力にはいくつか注意しなければいけないことがあります。
以下、WordPress Codex 日本語版 より引用。

(注) 日本語のように語句の間を半角スペースで区切らない言語では「55単語」を判定できないため、抜粋できずに本文のほとんどが出力されてしまうことがあります。
WordPress 日本語版では、この問題を含むマルチバイト関連の問題に対処するために WP Multibyte Patch プラグインを同梱しています。このプラグインを使用すると、110文字まで(設定により変更可)を抜粋文として出力できます。

WordPress Codex 日本語版テンプレートタグ/the excerptから引用

抜粋の最後の文字列を変更する

抜粋の最後の文字列はデフォルトで ‘[…]’ に設定されていますが、この文字列を任意の文字列に変更することができます。
functions.php に次のコードを追加します。

/*【出力カスタマイズ】抜粋の最後の文字列を変更する */
function new_excerpt_more($more) {
  return ‘...';
}
add_filter('excerpt_more', 'new_excerpt_more');

コード内の「…」の部分を任意の文字列に変更して利用してください。

スポンサーリンク