WordPressのコメントフォームのカスタマイズ

0 google+0 はてなブックマーク0
2016年4月15日2:56 PM|WordPress テーマ

WordPress記事のコメントフォームを表示するには以下の記述なのだけど。

<?php comment_form(); ?>

WordPressであらかじめ用意されたコメントフォームの文章や内容をカスタマイズする方法をメモ。

そのまま

<?php comment_form(); ?>

と書くと以下のようになっていた。

コメントフォーム

コメント欄のタグは使えないようにしているので、使えるタグ〜の文章は表示されていない。

やってみたのは
ひとつは、 add_filter(フィルターフック)を使って方法functions.phpで変更する方法。
もうひとつは、$argsを使ってcomments.phpで変更する方法。

1.functions.phpで変更
2.comments.phpで変更


1.functions.phpで変更

functions.phpに以下のように書く。

functions.php

function custom_comment_text($args){
$args['title_reply'] = 'コメントをどうぞ';
$args['title_reply_before'] = '';
$args['title_reply_after'] = '';
$args['comment_notes_before'] = 'メールアドレスは必須ですが公開はされません';
$args['comment_notes_after'] = 'タグは使えません';
$args['label_submit'] = 'コメントする';
return $args;
}
add_filter("comment_form_defaults","custom_comment_text");

適当に変えていますが、メールアドレスは必須ですが公開はされません、タグは使えませんを消して、

functions.php

$args['comment_notes_before'] = '';
$args['comment_notes_after'] = '';

のみにしてしまえば、何も表示されないという訳。

対応する内容は
title_reply コメントフォームタイトル
title_reply_before タイトルのタグ
title_reply_after タイトルの閉じタグ
comment_notes_before メールについての注意(メールアドレスが公開されることはありません。 * が付いている欄は必須項目です のところ)
comment_notes_after タグについての注意(次のHTMLタグと属性が使えます のところ)
label_submit 送信ボタン

詳しくは以下
Function Reference/comment form « WordPress Codex

他にもメールアドレス欄、サイトアドレス欄も消したりできる。
コメントフォームのタイトルや注訳を変えるだけなら、add_filterでもよいと思う。


2.comments.phpで変更

これは直接、comments.phpに書いて変更する。

comments.php

<?php
$comments_args = array(
'title_reply' => 'コメントをどうぞ',
'title_reply_before' => '',
'title_reply_after' => '',
'comment_notes_before' => 'メールアドレスは必須ですが公開はされません',
'comment_notes_after' => 'タグは使えません',
'label_submit' => 'コメントする',
);
comment_form($comments_args);
?>

もっと他の部分を変更したい場合、以下のサイトが参考になります。
この2つの書き方についても判りやすく載っています。

WordPress:コメントフォームをカスタマイズする方法 | NxWorld

ちなみに、functions.php、comments.php両方に書いてみたら、comments.phpが優先されていました。

コメントフォーム

今回つまづいたところ

コメントフォームのタイトルのタグ

<h3 id="reply-title" class="comment-reply-title">

も変更したくて、それにあたる

'title_reply_before'
'title_reply_after'

を書いても変更されなくて悩んでいたのけど、
WordPressを最新バージョンにしたらあっさり反映されて、拍子抜け。
バージョン大切ですね。

という事で、
コメントフォームのカスタマイズは、functions.phpに書けばコメントのテーマがスッキリするけど、後でちょいちょい直すならcomments.phpだろうし、好みの問題かな。

その他の参考サイト:
【WordPress】 コメント欄のHTMLタグについての表記を消す
コメント欄からメールアドレスとウェブURLとタグの案内テキストを非表示にする | hacknote
WordPress コメント入力欄をカスタマイズしてウェブサイト(URL)やメールアドレスを簡単に消す方法 | debate
WordPressのコメント欄をカスタマイズする | hacknote

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です