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

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

「テンプレートタグ/wp list comments」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(最新版のマージ)
(en:Function Reference/wp_list_comments 23:13, 10 May 2017 Raamdev 版を反映して残りを和訳。)
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
== 説明 ==
+
== 説明<span id="Description"></span> ==
  
様々なパラメータや管理画面で行う設定に基づいて、記事やページのコメントを表示します。
+
様々なパラメータや管理画面で行う設定に基づいて、投稿や固定ページのコメントを表示します。
  
[[Migrating Plugins and Themes to 2.7]] も参照してください。
+
[[Migrating Plugins and Themes to 2.7|プラグインとテーマの移行/2.7]] も参照してください。
  
== 使い方 ==
+
== 使い方<span id="Usage"></span> ==
  
 
  <?php wp_list_comments( $args, $comments ); ?>
 
  <?php wp_list_comments( $args, $comments ); ?>
  
 +
== パラメータ<span id="Parameters"></span> ==
  
===デフォルトでの使い方===
+
{{Parameter|$args|配列|この関数の引数。|オプション|
 
+
{{Parameter|$args|array|The options for the function.|オプション|
+
 
<pre>
 
<pre>
 
<?php $args = array(
 
<?php $args = array(
27行目: 26行目:
 
'reverse_top_level' => null,
 
'reverse_top_level' => null,
 
'reverse_children'  => '',
 
'reverse_children'  => '',
'format'            => 'html5', // or 'xhtml' if no 'HTML5' theme support
+
'format'            => 'html5', // テーマが 'HTML5' をサポートしないなら 'xhtml'
'short_ping'        => false,  // @since 3.6
+
'short_ping'        => false,  // バージョン3.6以降
        'echo'              => true    // boolean, default is true
+
'echo'              => true    // 真偽値、デフォルトが true
 
); ?>
 
); ?>
 
</pre>}}
 
</pre>}}
  
The '<tt>max_depth</tt>', '<tt>per_page</tt>' and '<tt>reverse_top_level</tt>' parameters can be more easily controlled through the [[Settings_Discussion_SubPanel | Discussion Settings]] Administration Panel but a theme can override those settings.
+
引数 '<tt>max_depth</tt>''<tt>per_page</tt>' '<tt>reverse_top_level</tt>' は管理画面の[[管理画面/ディスカッション設定|ディスカッション設定]]で簡単に制御できます。ただしテーマはこれらの設定を上書きできます。
  
{{Parameter|$comments|配列|Array obtained by [[get_comments]] query.|オプション|The default return of [[get_comments]].}}
+
{{Parameter|$comments|配列|[[関数リファレンス/get_comments|get_comments]] /[[:en:Function Reference/get_comments|en]] のクエリで取得した配列。|オプション|デフォルトのパラメータで [[関数リファレンス/get_comments|get_comments]] /[[:en:Function Reference/get_comments|en]] を呼び出したときの戻り値。}}
  
== パラメータ ==
+
== 引数<span id="Arguments"></span> ==
  
''拡張と説明が必要<!-- 原文自体が未完成? -->''
+
; <tt>'walker'</tt> : ( ''Walker オブジェクト'' )  コメントを出力するときに使うカスタム [[クラスリファレンス/Walker|Walker クラス]] /[[:en:Class_Reference/Walker|en]] のオブジェクト。''これがコメント HTML をカスタマイズする一番の方法です。''
 
+
; avatar_size
+
: (''整数'') アバターが表示される大きさ(ピクセル)。初期値は32。
+
; style
+
: (''文字列'') コメントリストの表示形式。div または ul。初期値は ul。
+
; callback
+
: (''文字列'') 各コメントの表示に使用するカスタム関数名。初期値は「空」。カスタム関数を指定すると、コメントに関して WordPress 内部関数をすべて省略し、その関数を呼び出して表示する。コメントの HTML レイアウトを大きく変える場合に使用する。非推奨。
+
 
+
<nowiki>$defaults = array('walker' => null, 'max_depth' => '', 'style' => 'ul', 'callback' => null, 'end-callback' => null, 'type' => 'all',
+
'page' => '', 'per_page' => '', 'avatar_size' => 32, 'reverse_top_level' => null, 'reverse_children' => '');</nowiki>
+
 
+
== 引数 ==
+
 
+
 
+
; <tt>'walker'</tt> : ( ''Walker object'' )  Provide a custom [[Class_Reference/Walker|Walker class]] object to use when rendering the comments. ''This is the primary method of customizing comment HTML.''
+
  
 
<pre>
 
<pre>
63行目: 47行目:
 
</pre>
 
</pre>
  
; <tt>'max_depth'</tt> : ( ''integer'' ) How deep (in comment replies) should the comments be fetched.
+
; <tt>'max_depth'</tt> : ( ''整数'' ) 取得するコメントの階層の深さ(コメントへの返信)。
  
; <tt>'style'</tt> : ( ''string'' ) Can be either 'div', 'ol', or 'ul' (the default). Note that any containing tags that must be written explicitly. For instance:  
+
; <tt>'style'</tt> : ( ''文字列'' ) <code>'div'</code>、<code>'ol'</code> または <code>'ul'</code>(デフォルト)。外側のタグは明示的に書かなければならないことに注意してください。例えば:  
  
 
<pre><div class="comment list">
 
<pre><div class="comment list">
71行目: 55行目:
 
</div></pre>
 
</div></pre>
  
OR
+
または
  
 
<pre><ol class="comment list">
 
<pre><ol class="comment list">
77行目: 61行目:
 
</ol></pre>
 
</ol></pre>
  
; <tt>'callback'</tt> : ( ''[http://www.php.net/manual/en/language.types.callable.php callback]'' ) The name of a custom function to use to open and display each comment. Using this will make your custom function get called to display each comment, bypassing all internal WordPress functionality in this respect. Use to customize comments display for extreme changes to the HTML layout. Note that your callback must include the opening <code>&lt;div&gt;</code>, <code>&lt;ol&gt;</code>, or <code>&lt;ul&gt;</code> tag (corresponding with the <tt>style</tt> parameter), but '''not''' the closing tags. WordPress will supply the closing tag automatically, or you can use <tt>end-callback</tt> to override this default. The <tt>callback</tt> is separate from the <tt>end-callback</tt> to facilitate hierarchical comments. Use with caution.
+
; <tt>'callback'</tt> : ( ''[http://jp2.php.net/manual/ja/language.types.callable.php コールバック]'' ) 各コメントの開始タグと内容を表示するカスタム関数の名前。これを使えば、各コメントを表示するとき WordPress 内部の機能をバイパスし、代わりにカスタム関数を呼び出します。HTML レイアウトを極端に変えてコメントを表示するために使ってください。コールバックは <code>&lt;div&gt;</code><code>&lt;ol&gt;</code> または <code>&lt;ul&gt;</code> の開始タグ(<tt>style</tt> パラメータに応じて)を出力しなければなりませんが、終了タグを'''含めてはいけません'''。WordPress は終了タグを自動的に追加しますが、<tt>end-callback</tt> を使えばこのデフォルトを上書きできます。<tt>callback</tt> <tt>end-callback</tt> は階層化されたコメントを扱いやすくするために分けられています。注意して使ってください。
  
; <tt>'end-callback'</tt> : ( ''[http://www.php.net/manual/en/language.types.callable.php callback]'' ) The name of a custom function to use to close each comment. Using this will make your custom function get called to at the end of each comment, bypassing the WordPress default of using <code>&lt;/div&gt;</code>, <code>&lt;/ol&gt;</code>, or <code>&lt;/li&gt;</code> based on the <tt>style</tt> parameter. Use to customize the ending tags for a comment. The <tt>callback</tt> is separate from the <tt>end-callback</tt> to facilitate hierarchical comments. Use with caution.
+
; <tt>'end-callback'</tt> : ( ''[http://jp2.php.net/manual/ja/language.types.callable.php コールバック]'' ) 各コメントの終了タグを出力するカスタム関数の名前。これを使えば、各コメントが終わるとき <tt>style</tt> パラメータに応じて <code>&lt;/div&gt;</code><code>&lt;/ol&gt;</code> または <code>&lt;/li&gt;</code> を出力する WordPress のデフォルトをバイパスする代わりに、カスタム関数を呼び出します。コメントの終了タグをカスタマイズするために使ってください。<tt>callback</tt> <tt>end-callback</tt> は階層化されたコメントを扱いやすくするために分けられています。注意して使ってください。
  
; <tt>'type'</tt> : ( ''string'' ) The type of comment(s) to display. Can be <code>'all'</code>, <code>'comment'</code>, <code>'trackback'</code>, <code>'pingback'</code>, or <code>'pings'</code>. <code>'pings'</code> is both <code>'trackback'</code> and <code>'ping back'</code> together.
+
; <tt>'type'</tt> : ( ''文字列'' ) 表示するコメントの種類。<code>'all'</code><code>'comment'</code><code>'trackback'</code><code>'pingback'</code> または <code>'pings'</code> を指定できます。<code>'pings'</code> <code>'trackback'</code> <code>'pingback'</code> を両方指定したのと同じです。
  
; <tt>'reply_text'</tt> : ( ''string'' ) Text to display in each comment as a reply link. (This isn't an argument of this function but it gets passed to the <code>get_comment_reply_link</code> function.)
+
; <tt>'reply_text'</tt> : ( ''文字列'' ) 各コメントの返信用リンクとして表示する文字列。(これはこの関数の引数ではありませんが <code>get_comment_reply_link()</code> 関数へ渡されます。)
  
; <tt>'page'</tt> : ( ''integer'' ) The current page in the pagination to display.
+
; <tt>'page'</tt> : ( ''整数'' ) ページ分けした場合に表示対象とするページ。
  
; <tt>'per_page'</tt> : ( ''integer'' ) The number of items to show for each page of comments.
+
; <tt>'per_page'</tt> : ( ''整数'' ) 1ページに表示するコメントの数。
  
; <tt>'avatar_size'</tt> : ( ''integer'' ) Size that the avatar should be shown as, in pixels. http://gravatar.com/ supports sizes between 1 and 512. Use 0 to hide avatars.
+
; <tt>'avatar_size'</tt> : ( ''整数'' ) 表示するアバターの大きさをピクセル数で指定。http://gravatar.com/ は1から512までの大きさをサポートします。0を指定するとアバターを表示しません。
  
; <tt>'reverse_top_level'</tt> : ( ''boolean'' )  Setting this to <code>true</code> will display the most recent comment first then going back in order.
+
; <tt>'reverse_top_level'</tt> : ( ''真偽値'' )  これを <code>true</code> にすると最新のコメントを先頭にして逆順に、<code>false</code> にすると一番古いコメントを最初に表示します。省略すると WordPress ダッシュボード内の設定を使います。
  
; <tt>'reverse_children'</tt> : ( ''boolean'' ) Setting this to <code>true</code> will display the children (reply level comments) with the most recent ones first, then going back in order.
+
; <tt>'reverse_children'</tt> : ( ''真偽値'' ) これを <code>true</code> にすると一番新しい子コメント(返信)が付いたコメントを先頭にして逆順に表示します。
  
; <tt>'format'</tt> : ( ''boolean'' ) This can be set to 'html5' or 'xhtml' - it defaults to your theme's <code>current_theme_supports( 'html5' )</code> setting.
+
; <tt>'format'</tt> : ( ''真偽値'' ) 'html5' または 'xhtml' を指定します。デフォルトはテーマの <code>current_theme_supports( 'html5' )</code> の設定値です。
  
; <tt>'short_ping'</tt> : ( ''boolean'' ) Whether you want to use a short ping.
+
; <tt>'short_ping'</tt> : ( ''真偽値'' ) short ping を使うかどうか。
 +
: ''訳注: short ping はトラックバックをピンバック形式で短く表示します。''
  
; <tt>'echo'</tt> : ( ''boolean'' ) Whether to echo the list or just return it.
+
; <tt>'echo'</tt> : ( ''真偽値'' ) コメントのリストを表示 (echo) するか、表示せず値として返すか。
  
 +
== 用例<span id="Examples"></span> ==
  
 +
=== デフォルトの使い方<span id="Default_Usage"></span> ===
  
== 用例 ==
+
コメントを番号付きリストで出力します。スレッド(入れ子)形式やページ分けは [[管理画面/ディスカッション設定]] で有効にするか無効にします。
  
===デフォルトでの使用例===
 
 
コメントを番号付きリストで出力します。スレッド(入れ子) 形式や複数ページの分割は、[[管理画面/ディスカッション設定]] で有効にするか無効にします。
 
 
<pre>
 
<pre>
&lt;ol class="commentlist"&gt;
+
&lt;ol class="commentlist"&gt;
<?php wp_list_comments(); ?>
+
<?php wp_list_comments(); ?>
&lt;/ol&gt;
+
&lt;/ol&gt;
 
</pre>
 
</pre>
  
===コメントのみを、カスタム画面で表示する===
+
=== コメントだけをカスタム表示する<span id="Comments_Only_With_A_Custom_Comment_Display"></span> ===
  
コメントのみ(ピンバックやトラックバックを含まない)を表示し、コールバック関数を用いて見た目を整えます。
+
コメントのみ(ピンバックやトラックバックを含まない)を表示し、コールバック関数を用いて見た目を整えます。もし返信リンクが表示されなければ、引数 <tt>max_depth=X</tt> を追加してもよいでしょう。
  
&lt;ul class="commentlist"&gt;
+
<pre>
<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
+
&lt;ul class="commentlist"&gt;
&lt;/ul&gt;
+
<?php wp_list_comments( 'type=comment&callback=mytheme_comment' ); ?>
 +
&lt;/ul&gt;
 +
</pre>
 +
 
 +
テーマの [[テーマの作成#Functions File|functions.php ファイル]] でコールバック関数を定義しておく必要があります。コールバック関数の例を以下に示します:
  
利用しているテーマの [[テーマの作成#Functions File|functions.php file]] でコールバック関数を定義しておく必要があります。コールバック関数の例を以下に示します。
 
 
<pre>
 
<pre>
 
function mytheme_comment($comment, $args, $depth) {
 
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment;
+
    if ( 'div' === $args['style'] ) {
extract($args, EXTR_SKIP);
+
        $tag      = 'div';
 +
        $add_below = 'comment';
 +
    } else {
 +
        $tag      = 'li';
 +
        $add_below = 'div-comment';
 +
    }
 +
    ?>
 +
    <<?php echo $tag ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
 +
    <?php if ( 'div' != $args['style'] ) : ?>
 +
        <div id="div-comment-<?php comment_ID() ?>" class="comment-body">
 +
    <?php endif; ?>
 +
    <div class="comment-author vcard">
 +
        <?php if ( $args['avatar_size'] != 0 ) echo get_avatar( $comment, $args['avatar_size'] ); ?>
 +
        <?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
 +
    </div>
 +
    <?php if ( $comment->comment_approved == '0' ) : ?>
 +
        <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em>
 +
          <br />
 +
    <?php endif; ?>
  
if ( 'div' == $args['style'] ) {
+
    <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>">
$tag = 'div';
+
        <?php
$add_below = 'comment';
+
        /* translators: 1: date, 2: time */
} else {
+
        printf( __('%1$s at %2$s'), get_comment_date(),  get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), '  ', '' );
$tag = 'li';
+
        ?>
$add_below = 'div-comment';
+
    </div>
}
+
?>
+
<<?php echo $tag ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
+
<?php if ( 'div' != $args['style'] ) : ?>
+
<div id="div-comment-<?php comment_ID() ?>" class="comment-body">
+
<?php endif; ?>
+
<div class="comment-author vcard">
+
<?php if ( $args['avatar_size'] != 0 ) echo get_avatar( $comment, $args['avatar_size'] ); ?>
+
<?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
+
</div>
+
<?php if ( $comment->comment_approved == '0' ) : ?>
+
<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em>
+
<br />
+
<?php endif; ?>
+
  
<div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>">
+
    <?php comment_text(); ?>
<?php
+
/* translators: 1: date, 2: time */
+
printf( __('%1$s at %2$s'), get_comment_date(),  get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), '&nbsp;&nbsp;', '' );
+
?>
+
</div>
+
  
<?php comment_text(); ?>
+
    <div class="reply">
 
+
        <?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
<div class="reply">
+
    </div>
<?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
+
    <?php if ( 'div' != $args['style'] ) : ?>
</div>
+
    </div>
<?php if ( 'div' != $args['style'] ) : ?>
+
    <?php endif; ?>
</div>
+
    <?php
<?php endif; ?>
+
    }
<?php
+
}
+
 
</pre>
 
</pre>
追従する <code>&lt;/li&gt;</code> が無いことに注意してください。WordPress は子要素を追加した後に、自動で追加します。
 
  
===特定の固定ページ/投稿 のコメントを表示===
+
後続の <code>&lt;/li&gt;</code> が無いことに注意してください。WordPress は子要素を出力した後に適切な終了タグを自動で追加します。
 +
 
 +
=== 特定の固定ページや投稿のコメントを表示<span id="Display_Comments_for_a_Specific_Page.2FPost"></span> ===
  
Outputs an ordered list of comments for a specific page or post. Things like threading or paging being enabled or disabled are controlled via the [[管理画面/ディスカッション設定]].
+
特定の固定ページまたは投稿のコメントを番号付きリストで出力します。スレッド(入れ子)形式やページ分けは [[管理画面/ディスカッション設定]] で有効にするか無効にします。
  
 
<pre>
 
<pre>
 
<ol class="commentlist">
 
<ol class="commentlist">
 
<?php
 
<?php
//Gather comments for a specific page/post
+
//固定ページまたは投稿のコメントを取得
 
$comments = get_comments(array(
 
$comments = get_comments(array(
 
'post_id' => XXX,
 
'post_id' => XXX,
'status' => 'approve' //Change this to the type of comments to be displayed
+
'status' => 'approve' //表示したいコメントの種類に変えてください
 
));
 
));
  
//Display the list of comments
+
//コメントのリストを表示
 
wp_list_comments(array(
 
wp_list_comments(array(
'per_page' => 10, //Allow comment pagination
+
'per_page' => 10, //ページ分けを有効化
'reverse_top_level' => false //Show the latest comments at the top of the list
+
'reverse_top_level' => false //最古のコメントをリストの先頭に表示
 
), $comments);
 
), $comments);
 
?>
 
?>
191行目: 176行目:
 
</pre>
 
</pre>
  
== 更新履歴 ==
+
== 変更履歴<span id="Change_Log"></span> ==
  
 
新規導入: 2.7.0
 
新規導入: 2.7.0
  
== ソースファイル ==
+
== ソースファイル<span id="Source_File"></span> ==
  
<tt>wp_list_comments()</tt> は {{Trac|wp-includes/comment-template.php|tags/{{CurrentVersion}}|1880}}にあります。
+
<tt>wp_list_comments()</tt> は {{Trac|wp-includes/comment-template.php}} にあります。
  
 +
== 関連項目<span id="Related"></span> ==
  
== 関連 ==
 
 
{{Lists Tags}}
 
{{Lists Tags}}
  
 
{{Tag Comments Tags}}
 
{{Tag Comments Tags}}
  
{{NeedTrans|一部}}
+
{{Tag Footer}}
  
{{PHP Function Tag Footer}}
+
{{原文|Function Reference/wp_list_comments|160710}} <!-- 23:13, 10 May 2017 Raamdev 版 -->
{{原文|Template Tags/wp_list_comments|150828}}<!-- 12:04, 15 April 2015‎ Jdgrimes 版 -->
+
  
 
{{DEFAULTSORT:Wp_list_comments}}
 
{{DEFAULTSORT:Wp_list_comments}}
 +
[[Category:テンプレートタグ]]
 
[[Category:wp2.7]]
 
[[Category:wp2.7]]
  
[[en:Template Tags/wp_list_comments]]
+
[[en:Function Reference/wp_list_comments]]
 +
[[ko:Function Reference/wp_list_comments]]

2017年5月28日 (日) 14:04時点における最新版

説明

様々なパラメータや管理画面で行う設定に基づいて、投稿や固定ページのコメントを表示します。

プラグインとテーマの移行/2.7 も参照してください。

使い方

<?php wp_list_comments( $args, $comments ); ?>

パラメータ

$args
配列) (オプション) この関数の引数。
初期値:
<?php $args = array(
	'walker'            => null,
	'max_depth'         => '',
	'style'             => 'ul',
	'callback'          => null,
	'end-callback'      => null,
	'type'              => 'all',
	'reply_text'        => 'Reply',
	'page'              => '',
	'per_page'          => '',
	'avatar_size'       => 32,
	'reverse_top_level' => null,
	'reverse_children'  => '',
	'format'            => 'html5', // テーマが 'HTML5' をサポートしないなら 'xhtml'
	'short_ping'        => false,   // バージョン3.6以降
	'echo'              => true     // 真偽値、デフォルトが true
); ?>

引数 'max_depth'、'per_page' と 'reverse_top_level' は管理画面のディスカッション設定で簡単に制御できます。ただしテーマはこれらの設定を上書きできます。

$comments
配列) (オプションget_comments /en のクエリで取得した配列。
初期値: デフォルトのパラメータで get_comments /en を呼び出したときの戻り値。

引数

'walker' 
( Walker オブジェクト ) コメントを出力するときに使うカスタム Walker クラス /en のオブジェクト。これがコメント HTML をカスタマイズする一番の方法です。
<?php
wp_list_comments( array(
    'walker' => new Walker_Comment()
) );
'max_depth' 
( 整数 ) 取得するコメントの階層の深さ(コメントへの返信)。
'style' 
( 文字列 ) 'div''ol' または 'ul'(デフォルト)。外側のタグは明示的に書かなければならないことに注意してください。例えば:
<div class="comment list">
    <?php wp_list_comments( array( 'style' => 'div' ) ); ?>
</div>

または

<ol class="comment list">
    <?php wp_list_comments( array( 'style' => 'ol' ) ); ?>
</ol>
'callback' 
( コールバック ) 各コメントの開始タグと内容を表示するカスタム関数の名前。これを使えば、各コメントを表示するとき WordPress 内部の機能をバイパスし、代わりにカスタム関数を呼び出します。HTML レイアウトを極端に変えてコメントを表示するために使ってください。コールバックは <div><ol> または <ul> の開始タグ(style パラメータに応じて)を出力しなければなりませんが、終了タグを含めてはいけません。WordPress は終了タグを自動的に追加しますが、end-callback を使えばこのデフォルトを上書きできます。callbackend-callback は階層化されたコメントを扱いやすくするために分けられています。注意して使ってください。
'end-callback' 
( コールバック ) 各コメントの終了タグを出力するカスタム関数の名前。これを使えば、各コメントが終わるとき style パラメータに応じて </div></ol> または </li> を出力する WordPress のデフォルトをバイパスする代わりに、カスタム関数を呼び出します。コメントの終了タグをカスタマイズするために使ってください。callbackend-callback は階層化されたコメントを扱いやすくするために分けられています。注意して使ってください。
'type' 
( 文字列 ) 表示するコメントの種類。'all''comment''trackback''pingback' または 'pings' を指定できます。'pings''trackback''pingback' を両方指定したのと同じです。
'reply_text' 
( 文字列 ) 各コメントの返信用リンクとして表示する文字列。(これはこの関数の引数ではありませんが get_comment_reply_link() 関数へ渡されます。)
'page' 
( 整数 ) ページ分けした場合に表示対象とするページ。
'per_page' 
( 整数 ) 1ページに表示するコメントの数。
'avatar_size' 
( 整数 ) 表示するアバターの大きさをピクセル数で指定。http://gravatar.com/ は1から512までの大きさをサポートします。0を指定するとアバターを表示しません。
'reverse_top_level' 
( 真偽値 ) これを true にすると最新のコメントを先頭にして逆順に、false にすると一番古いコメントを最初に表示します。省略すると WordPress ダッシュボード内の設定を使います。
'reverse_children' 
( 真偽値 ) これを true にすると一番新しい子コメント(返信)が付いたコメントを先頭にして逆順に表示します。
'format' 
( 真偽値 ) 'html5' または 'xhtml' を指定します。デフォルトはテーマの current_theme_supports( 'html5' ) の設定値です。
'short_ping' 
( 真偽値 ) short ping を使うかどうか。
訳注: short ping はトラックバックをピンバック形式で短く表示します。
'echo' 
( 真偽値 ) コメントのリストを表示 (echo) するか、表示せず値として返すか。

用例

デフォルトの使い方

コメントを番号付きリストで出力します。スレッド(入れ子)形式やページ分けは 管理画面/ディスカッション設定 で有効にするか無効にします。

<ol class="commentlist">
<?php wp_list_comments(); ?>
</ol>

コメントだけをカスタム表示する

コメントのみ(ピンバックやトラックバックを含まない)を表示し、コールバック関数を用いて見た目を整えます。もし返信リンクが表示されなければ、引数 max_depth=X を追加してもよいでしょう。

<ul class="commentlist">
<?php wp_list_comments( 'type=comment&callback=mytheme_comment' ); ?>
</ul>

テーマの functions.php ファイル でコールバック関数を定義しておく必要があります。コールバック関数の例を以下に示します:

function mytheme_comment($comment, $args, $depth) {
    if ( 'div' === $args['style'] ) {
        $tag       = 'div';
        $add_below = 'comment';
    } else {
        $tag       = 'li';
        $add_below = 'div-comment';
    }
    ?>
    <<?php echo $tag ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
    <?php if ( 'div' != $args['style'] ) : ?>
        <div id="div-comment-<?php comment_ID() ?>" class="comment-body">
    <?php endif; ?>
    <div class="comment-author vcard">
        <?php if ( $args['avatar_size'] != 0 ) echo get_avatar( $comment, $args['avatar_size'] ); ?>
        <?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
    </div>
    <?php if ( $comment->comment_approved == '0' ) : ?>
         <em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></em>
          <br />
    <?php endif; ?>

    <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ); ?>">
        <?php
        /* translators: 1: date, 2: time */
        printf( __('%1$s at %2$s'), get_comment_date(),  get_comment_time() ); ?></a><?php edit_comment_link( __( '(Edit)' ), '  ', '' );
        ?>
    </div>

    <?php comment_text(); ?>

    <div class="reply">
        <?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
    </div>
    <?php if ( 'div' != $args['style'] ) : ?>
    </div>
    <?php endif; ?>
    <?php
    }

後続の </li> が無いことに注意してください。WordPress は子要素を出力した後に適切な終了タグを自動で追加します。

特定の固定ページや投稿のコメントを表示

特定の固定ページまたは投稿のコメントを番号付きリストで出力します。スレッド(入れ子)形式やページ分けは 管理画面/ディスカッション設定 で有効にするか無効にします。

<ol class="commentlist">
	<?php
		//固定ページまたは投稿のコメントを取得
		$comments = get_comments(array(
			'post_id' => XXX,
			'status' => 'approve' //表示したいコメントの種類に変えてください
		));

		//コメントのリストを表示
		wp_list_comments(array(
			'per_page' => 10, //ページ分けを有効化
			'reverse_top_level' => false //最古のコメントをリストの先頭に表示
		), $comments);
	?>
</ol>

変更履歴

新規導入: 2.7.0

ソースファイル

wp_list_comments()wp-includes/comment-template.php にあります。

関連項目

リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


コメント関数: cancel_comment_reply_link(), comment_author(), comment_author_email(), comment_author_email_link(), comment_author_IP(), comment_author_link(), comment_author_rss(), comment_author_url(), comment_author_url_link(), comment_class(), comment_date(), comment_excerpt(), comment_form_title(), comment_form(), comment_ID(), comment_id_fields() / en, comment_reply_link(), comment_text(), comment_text_rss(), comment_time(), comment_type(), comments_link, comments_number(), comments_open(), comments_popup_link(), comments_popup_script(), comments_rss_link(), get_avatar(), next_comments_link(), paginate_comments_links(), permalink_comments_rss(), previous_comments_link(), wp_list_comments()



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


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