comment_form()

関数の概要

comment_form()は、WordPressでコメントフォームを表示するための関数です。通常、テーマのテンプレートファイル(例:single.phppage.php)内で使用され、ユーザーがコメントを投稿するためのフォームを生成します。この関数は、フォームのレイアウトやフィールドをカスタマイズするためのオプションも提供します。

パラメータの説明

comment_form()関数は1つのオプションパラメータを受け取ります。

  1. $args (array, オプション): コメントフォームの設定をカスタマイズするための引数の配列。

主な引数

  • fields (array): コメントフォームの各フィールド(author, email, url)のHTMLをカスタマイズするための配列。
  • comment_field (string): コメント入力フィールドのHTMLをカスタマイズするための文字列。
  • must_log_in (string): ログインしていないユーザーに表示されるメッセージのHTML。
  • logged_in_as (string): ログインしているユーザーに表示されるメッセージのHTML。
  • comment_notes_before (string): コメントフォームの前に表示されるメッセージのHTML。
  • comment_notes_after (string): コメントフォームの後に表示されるメッセージのHTML。
  • id_form (string): コメントフォームのID。デフォルトはcommentform
  • id_submit (string): 送信ボタンのID。デフォルトはsubmit
  • title_reply (string): コメントフォームのタイトル。デフォルトはLeave a Reply
  • label_submit (string): 送信ボタンのラベル。デフォルトはPost Comment

使用例

以下は、comment_form()関数を使用してデフォルトのコメントフォームを表示する例です。

<?php
// テーマのテンプレートファイル内で使用
if (comments_open()) {
    comment_form();
}
?>

カスタム設定を使用したコメントフォームの表示例

<?php
// カスタム設定を使用してコメントフォームを表示する
$args = array(
    'title_reply' => 'Leave a Comment',
    'label_submit' => 'Submit Comment',
    'comment_notes_before' => '<p class="comment-notes">Your email address will not be published.</p>',
    'comment_notes_after' => '<p class="comment-notes">Thank you for your comment!</p>',
    'fields' => array(
        'author' => '<p class="comment-form-author"><label for="author">Name</label> ' .
                    '<input id="author" name="author" type="text" value="" size="30" /></p>',
        'email' => '<p class="comment-form-email"><label for="email">Email</label> ' .
                   '<input id="email" name="email" type="text" value="" size="30" /></p>',
        'url' => '<p class="comment-form-url"><label for="url">Website</label>' .
                 '<input id="url" name="url" type="text" value="" size="30" /></p>'
    ),
    'comment_field' => '<p class="comment-form-comment"><label for="comment">Comment</label>' .
                       '<textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>'
);

if (comments_open()) {
    comment_form($args);
}
?>

関連する関数

  • comments_template(): コメントテンプレートファイルを読み込み、表示します。
  • get_comments(): コメントのリストを取得します。
  • wp_list_comments(): コメントリストを表示します。
  • the_comment(): 現在のコメントを表示します(コメントループ内で使用)。
  • comment_text(): コメントの内容を表示します。

使用上の注意

  • comment_form()関数は、テンプレートファイルの適切な場所で使用してください。通常、single.phppage.phpなどの個別投稿や固定ページのテンプレートファイル内で使用されます。
  • カスタムフィールドやメッセージを追加することで、コメントフォームをサイトのデザインやニーズに合わせて調整できます。