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

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

「テンプレートタグ/get the excerpt」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(英語版をコピペ)
 
(和訳完了。)
2行目: 2行目:
 
== 説明 ==
 
== 説明 ==
 
</div>
 
</div>
Returns the excerpt of the current post with the "[...]" text at the end, which is not a "read more" link. This template tag must be used within [[The Loop]]. Alternatively, [[Template_Tags/the_excerpt|<tt>the_excerpt()</tt>]] can be used to directly display the excerpt, but it also adds opening and closing <tt>&lt;p&gt;</tt> tags to the string returned by <tt>get_the_excerpt()</tt>.
+
現在の投稿の概要を"[]"テキストを最後に付けた状態で返す関数です。なお、"[…]"は「続きを読む」ためのリンクではありません。このテンプレートタグは[[ループ]]の中で使われる必要があります。代わりに、抜粋を直接表すために [[Template_Tags/the_excerpt|<tt>the_excerpt()</tt>]] を用いることもできますが、この場合 <tt>get_the_excerpt()</tt> によって返された文字列の前と後ろに <tt>&lt;p&gt;</tt> タグが付加されます。
  
 
<div id="Usage">
 
<div id="Usage">
12行目: 12行目:
 
== パラメータ ==
 
== パラメータ ==
 
</div>
 
</div>
<tt>$deprecated</tt> is not required.
+
<tt>$deprecated</tt> は必要ではありません。
  
 
<div id="Return_value">
 
<div id="Return_value">
 
== 戻り値 ==
 
== 戻り値 ==
 
</div>
 
</div>
* If the post does not have an excerpt, this function applies [[Function_Reference/wp_trim_excerpt|wp_trim_excerpt]] to the post content and returns that generated string with "[...]" at the end. [[Function_Reference/wp_trim_excerpt|wp_trim_excerpt]] is applied via the [[Plugin_API/Filter_Reference/get_the_excerpt|get_the_excerpt]] filter and can be removed.
+
* もしも投稿に抜粋が設定されていない場合、この関数は投稿内容に [[Function_Reference/wp_trim_excerpt|wp_trim_excerpt]] を適用し、55単語を抜き出して概要を生成します。この時生成された文字列の後ろには "[...]" が付加されます。[[Function_Reference/wp_trim_excerpt|wp_trim_excerpt]] [[Plugin_API/Filter_Reference/get_the_excerpt|get_the_excerpt]] フィルターを経由して適用されますが、これは削除可能です。
* For password protected pages it returns a string, which has a default value of "''There is no excerpt because this is a protected post.''" This text can be changed in the function definition.
+
* パスワードで保護されたページでは、"''There is no excerpt because this is a protected post.''" という初期値の文字列を返します。この文字列は関数定義の段階で変更可能です。
* If the post has an excerpt and is not password protected, it returns the excerpt as a string.
+
* もし投稿に抜粋があり、パスワード保護もされていない時は、抜粋欄に入力した文字列を返します。
 +
 
 +
<div id="note" class="important">
 +
(注) 日本語のように語句の間を半角スペースで区切らない言語では「55'''単語'''」を判定できないため、抜粋できずに本文のほとんどが出力されてしまうことがあります。
 +
 
 +
[[日本語で WordPress#WordPress 日本語版|WordPress 日本語版]]では、この問題を含む[[日本語・マルチバイト特有の問題|マルチバイト関連の問題]]に対処するために [http://eastcoder.com/code/wp-multibyte-patch WP Multibyte Patch] プラグインを同梱しています。このプラグインを使用すると、110'''文字'''まで(設定により変更可)を抜粋文として出力できます。
 +
</div>
  
 
<div id="Examples">
 
<div id="Examples">
 
== 用例 ==
 
== 用例 ==
 
</div>
 
</div>
'''get_the_excerpt()''' can be used to retrieve and store the value in a variable, without outputting it to the page.
+
'''get_the_excerpt()''' を用いて、ページに出力することなく、変数に値を読み込み保持する場合。
  
 
<pre><nowiki><?php
 
<pre><nowiki><?php
 
$my_excerpt = get_the_excerpt();
 
$my_excerpt = get_the_excerpt();
 
if ( $my_excerpt != '' ) {
 
if ( $my_excerpt != '' ) {
// Some string manipulation performed
+
// ここで文字列の生成が行われる。
 
}
 
}
echo $my_excerpt; // Outputs the processed value to the page
+
echo $my_excerpt; // 処理された値をページに出力する
 
?></nowiki></pre>
 
?></nowiki></pre>
  
Use '''get_the_excerpt()''' to print an excerpt by specifying a maximium number of characters.
+
'''get_the_excerpt()''' を用いて、設定した最大文字数で概要を表示される場合。
  
 
<pre><nowiki><?php
 
<pre><nowiki><?php
65行目: 71行目:
 
</div>
 
</div>
 
0.71にて導入されました。
 
0.71にて導入されました。
 
  
 
<div id="Source_file">
 
<div id="Source_file">
77行目: 82行目:
  
 
[[Template_Tags/the_excerpt|the_excerpt()]]
 
[[Template_Tags/the_excerpt|the_excerpt()]]
{{原文|Function Reference/get attachment link|123379}}<!-- 13:56, 25 November 2012 M0r7if3r -->
+
{{原文|Function Reference/get the excerpt|131303}}<!-- 20:44, 21 May 2013 Apljdi -->
  
 
{{Tag Footer}}
 
{{Tag Footer}}
  
 
[[Category:Functions]]
 
[[Category:Functions]]

2013年7月7日 (日) 13:13時点における版

現在の投稿の概要を"[…]"テキストを最後に付けた状態で返す関数です。なお、"[…]"は「続きを読む」ためのリンクではありません。このテンプレートタグはループの中で使われる必要があります。代わりに、抜粋を直接表すために the_excerpt() を用いることもできますが、この場合 get_the_excerpt() によって返された文字列の前と後ろに <p> タグが付加されます。

使い方

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

パラメータ

$deprecated は必要ではありません。

戻り値

  • もしも投稿に抜粋が設定されていない場合、この関数は投稿内容に wp_trim_excerpt を適用し、55単語を抜き出して概要を生成します。この時生成された文字列の後ろには "[...]" が付加されます。wp_trim_excerptget_the_excerpt フィルターを経由して適用されますが、これは削除可能です。
  • パスワードで保護されたページでは、"There is no excerpt because this is a protected post." という初期値の文字列を返します。この文字列は関数定義の段階で変更可能です。
  • もし投稿に抜粋があり、パスワード保護もされていない時は、抜粋欄に入力した文字列を返します。

(注) 日本語のように語句の間を半角スペースで区切らない言語では「55単語」を判定できないため、抜粋できずに本文のほとんどが出力されてしまうことがあります。

WordPress 日本語版では、この問題を含むマルチバイト関連の問題に対処するために WP Multibyte Patch プラグインを同梱しています。このプラグインを使用すると、110文字まで(設定により変更可)を抜粋文として出力できます。

用例

get_the_excerpt() を用いて、ページに出力することなく、変数に値を読み込み保持する場合。

<?php
$my_excerpt = get_the_excerpt();
if ( $my_excerpt != '' ) {
	// ここで文字列の生成が行われる。
}
echo $my_excerpt; // 処理された値をページに出力する
?>

get_the_excerpt() を用いて、設定した最大文字数で概要を表示される場合。

<?php
the_excerpt_max_charlength(140);

function the_excerpt_max_charlength($charlength) {
	$excerpt = get_the_excerpt();
	$charlength++;

	if ( mb_strlen( $excerpt ) > $charlength ) {
		$subex = mb_substr( $excerpt, 0, $charlength - 5 );
		$exwords = explode( ' ', $subex );
		$excut = - ( mb_strlen( $exwords[ count( $exwords ) - 1 ] ) );
		if ( $excut < 0 ) {
			echo mb_substr( $subex, 0, $excut );
		} else {
			echo $subex;
		}
		echo '[...]';
	} else {
		echo $excerpt;
	}
}
?>


変更履歴

0.71にて導入されました。

ソースファイル

get_the_excerpt() is located in wp-includes/post-template.php.

the_excerpt()

最新英語版: WordPress Codex » Function Reference/get the excerpt最新版との差分


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