【WordPress】コメント入力フォームをカスタマイズする例|comment_form_defaults

WordPressでは、コメントフォームを設置することができますが、そのコメントフォーム内の項目や文章を変更してカスタマイズしたい場合があるかもしれません。
今回は、そのような際に使用できる、コメントフォーム内の項目や文章を変更するソースコードの例となります。
コメント入力フォームをカスタマイズする例
今回の例では、フィルターフックcomment_form_defaultsを使用し、コメントフォームの以下の3点をカスタマイズします。
- コメントフォームの「タイトル」を変更
- コメントフォームの「タイトル」の前後のHTMLを変更
- 「ウェブサイト」の入力欄を削除
- WordPressからログアウトした状態の際に表示される、コメント入力欄の上部のテキストを変更
以下がソースコードの例となり、functions.phpに記述します。
function my_comment_form( $form ) {
// コメントフォームの「タイトル」を変更
$form['title_reply'] = 'お気軽にコメントください。';
// コメントフォームの「タイトル」前のHTMLを変更
$form['title_reply_before'] = '<p class="comment-reply-title">';
// コメントフォームの「タイトル」後のHTMLを変更
$form['title_reply_after'] = '</p>';
// 「ウェブサイト」の入力欄を削除
$form['fields']['url'] = '';
// WordPressからログアウトした状態の際に表示される、コメント入力欄の上部のテキストを変更
$form['comment_notes_before'] = '<div><p>コメントは、以下の項目を入力し「コメントを送信」ボタンから送信お願いします。';
// 変更したコメントフォームの項目などをreturnで返す
return $form;
}
add_filter( 'comment_form_defaults', 'my_comment_form' );
comment_form_defaultsの説明
上記例で利用したフィルターフックcomment_form_defaultsのコールバック関数の引数には、コメントフォームの項目などが配列で渡されます。
コメントフォームの項目をカスタマイズする場合、その配列の値を変更しreturnで返します。
今回の例で変更した箇所以外にも、カスタマイズできるコメントフォームの箇所はあります。カスタマイズできるすべての箇所については、以下の参考サイト内にあるcomment-template.phpのコードのcomment_form関数内を確認してみてください。