comments_template()


WordPressのcomments_template()関数は、コメントテンプレートを読み込むために使用されます。この関数は、現在の投稿に関連するコメントを表示するためのテンプレートファイルを呼び出します。

構文

comments_template( string $file = '/comments.php', bool $separate_comments = false );

引数の説明:

  • $file(string) — コメントテンプレートファイルのパス。デフォルトは'/comments.php'
  • $separate_comments(bool) — コメントとピンバックを分離するかどうか。デフォルトはfalse

例1: 基本的なコメントテンプレートの読み込み

この例では、デフォルトのコメントテンプレートを読み込みます。

<?php comments_template(); ?>

例2: カスタムコメントテンプレートの使用

カスタムコメントテンプレートを使用する場合、ファイル名を指定します。

<?php comments_template('/custom-comments.php'); ?>

例3: コメントとピンバックを分離

コメントとピンバックを分離して表示する場合、$separate_commentstrueに設定します。

<?php comments_template('/comments.php', true); ?>

例4: 特定の投稿にコメントテンプレートを適用

特定の投稿にコメントテンプレートを適用する場合、setup_postdata()を使用します。

<?php global $post; $post = get_post( get_the_ID() ); setup_postdata( $post ); comments_template(); wp_reset_postdata(); ?>

例5: コメントテンプレートの条件分岐

コメントが有効かどうかを確認してからテンプレートを読み込みます。

<?php if ( comments_open() || get_comments_number() ) { comments_template(); } ?>

例6: コメントテンプレートのカスタマイズ

コメントテンプレート内でカスタムロジックを追加する例です。

<?php comments_template(); if ( have_comments() ) { echo '<h3>コメント一覧</h3>'; wp_list_comments(); } ?>

例7: コメントフォームのカスタマイズ

コメントフォームをカスタマイズする場合、comment_form()を使用します。

<?php comments_template(); comment_form(); ?>

例8: コメントテンプレートのオーバーライド

子テーマでコメントテンプレートをオーバーライドする例です。

<?php comments_template('/comments-override.php'); ?>

注意点

  • コメントテンプレートファイルが存在しない場合、デフォルトのテンプレートが使用されます。
  • $separate_commentstrueに設定すると、コメントとピンバックが別々に表示されます。
  • コメントテンプレート内でwp_list_comments()を使用する場合、コメントの表示方法をカスタマイズできます。

関連機能: