Learning site for website creation

036:コメント機能を追加

公開日:2020年11月09日

投稿詳細にコメント機能を追加します。

コメント機能追加

コメントモジュールテンプレート「comments.php」を読み込みます。

もし「comments.php」が存在しない時はWordPressがもっているコメントモジュールテンプレートを読み込みます。

ループ内でもループ外でも呼び出すことができます。

<?php comments_template(); ?>

コメント投稿フォームのみをカスタマイズして表示

comments_template関数を使わずにコメントフォームのみ表示します。

<?php
$args = [
	'title_reply' => 'コメントする', // タイトルの文字列を変更
	'cancel_reply_link' => '取り消す', // 返信を押下後の「コメントをキャンセル」の文字列変更
	'label_submit'  => '送信する', // 送信ボタンの文字列を変更
];
comment_form( $args );
?>

投稿されたコメントを取得

comments_template関数を使わずに投稿されたコメントを配列とオブジェクト形式で取得します。

<?php
$args = [
  'status' => 'approve',
  'order' => 'desc',
  'post_id' => $post->ID
];
$commentList = get_comments( $args );

投稿されたコメントを表示

get_comments関数で取得したコメントをforeachを使って表示します。

<?php /***** コメントループ開始 *****/ ?>
<?php if ($commentList) : ?>
<?php foreach ($commentList as $comment) : ?>
<?php echo $comment->comment_author; //投稿者の名前 ?>
<?php echo comment_date("Y/m/d", $comment); //投稿日  ?>
<?php comment_text( $comment->comment_id ); //コメントの本文 ?>
<?php endforeach; ?>
<?php endif; ?>
<?php /***** コメントループ終了 *****/ ?>

このページで出てくる関数

WordPress関数は「公式サイトのドキュメント」で確認しましょう。

WordPress関数

comments_template()

comment_form()

comment_date()

comment_text()