• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

テンプレートタグ/the excerpt

提供: WordPress Codex 日本語版
< テンプレートタグ
2009年12月20日 (日) 10:51時点におけるMizuno (トーク | 投稿記録)による版 (23:06, 3 November 2009 Aquanelle 版。div id="the_excerpt()_vs._the_content()" の括弧は外す?)

移動先: 案内検索

このテンプレートタグ the_excerpt() は、現在の投稿の抜粋を、文末に [...](角括弧+三点リーダー)をつけて表示します。この三点リーダーは「続きを読む」リンクではありません。投稿作成/編集画面/en の抜粋文入力欄に記入してあればそれを、抜粋を入力していない場合は投稿内容の最初の 55個の単語までを表示します()。また、抜粋のコンテンツからは HTML タグと画像は取り除かれます。このタグはループ内でのみ使えます。

: これは英語のように単語間を半角スペースで区切る言語の場合であり、日本語のように半角スペースを通常使用しない言語では 55単語の区切りを判定できず、すべての内容が出力されてしまうことがあります。WordPress 日本語版では、この問題を含むマルチバイト関連の問題に対処するために WP Multibyte Patch プラグインを同梱していて、このプラグインを使用するとデフォルトでは110文字までを抜粋文として出力できます。

: 現在の投稿が attachment.php および image.php テンプレートループ内の attachment の場合、キャプションは表示されません。キャプションには、[...] 記号は含まれません。

the_excerpt() と the_content()

the_content() 関数のみを使うことが意味があることがあります。 the_content() は、<!--more--> タグが使用されているかどうかによって、何を表示するかを決定します。 <!--more--> タグは、投稿/ページを 2 つの部分に分けます。リストでは、このタグより前のコンテンツのみが表示されます。<!--more--> は、個別投稿/ページでは(もちろん)無視されます。

使い方

<?php the_excerpt(); ?>

パラメータ

このタグはパラメータをとりません。

用例

初期設定での使用

投稿の抜粋を表示します。個別投稿を表示する時以外に the_content() の代わりにループ内で強制的に抜粋を表示するときに使用します。

<?php the_excerpt(); ?>

条件分岐タグとの使用

アーカイブページおよびカテゴリーページ(is_archive() で判定)表示時に、the_content() タグの替わりに the_excerpt() を用いて抜粋文を表示する例です。

次の例は、WordPress バージョン 1.5 以上で動作します。

<?php if ( is_archive() ) {
    the_excerpt();
} else {
    the_content();
} ?>

1.5 より前のバージョンでは以下のコードで動作します。

<?php if ( $cat || $m ) {
    the_excerpt();
} else {
    the_content();
} ?>

フィルターで抜粋の長さの変更

デフォルトでは、抜粋の長さは 55 単語です(日本語の場合は冒頭の注参照)。excerpt_length フィルターを使用して長さを変更するには、テーマのfunctions.php ファイルに以下のコードを追加します。

function new_excerpt_length($length) {	
     return 20;	
}	
add_filter('excerpt_length', 'new_excerpt_length');	

フィルターで [...] 文字列の削除

バージョン 2.9 以降のみ

デフォルトでは、抜粋の最後の文字列は '[...]' になっています。excerpt_more フィルターを使用して文字列を変更するには、テーマのfunctions.php ファイルに以下のコードを追加します。

function new_excerpt_more($more) {
	return '[.....]';
}
add_filter('excerpt_more', 'new_excerpt_more');

バージョン 2.8.x 以前の場合

function new_excerpt_more($excerpt) {
	return str_replace('[...]', '...', $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

Notes

変更履歴

Since: 0.71

ソースファイル

the_excerpt() は、wp-includes/post-template.php にあります。


投稿タグ: body_class(), next_image_link(), next_post_link(), next_posts_link(), post_class(), post_password_required(), posts_nav_link(), previous_image_link(), previous_post_link(), previous_posts_link(), single_post_title(), sticky_class(), the_category(), the_category_rss(), the_content(), the_content_rss(), the_excerpt(), the_excerpt_rss(), the_ID(), the_meta(), the_shortlink(), the_tags(), the_title(), the_title_attribute(), the_title_rss(), wp_link_pages(),


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Template Tags/the_excerpt最新版との差分