WordPressでコメントフォームカスタマイズの一例と注意点
この記事では、コメントフォームを実装した際に行ったカスタマイズ方法と、コメントフォームを設置するにあたり注意した方が良いかもしれない点などについてまとめます。
WordPressのコメントフォーム機能の解説
コメントフォームは使用しているWordPressテーマによって見た目が異なる場合があります。本サイトではSWELLを使用しているので、「コメント」「名前」「メールアドレス」「サイト」欄がデフォルトで表示されています。
これらコメントフォームの設定は基本的に、WordPressの「設定 > ディスカッション設定」より行います。
WordPressテーマにSWELLを使用しているのであれば、「カスタマイザー > 投稿・固定ページ > 記事下エリア > コメントエリア設定」や「投稿 > 各記事の編集ページ > 右サイドバー(投稿)下の表示の上書き設定」にも設定項目があります。
テーマ所以の設定項目は、WordPressのデフォルト設定よりも優先されます。なので、コメントフォームをディスカッション設定で有効にしているのに、記事下に表示されないという場合は、テーマ側の設定を確認すると良いかと思います。
コメントフォームのカスタマイズ方法
WordPressのデフォルト状態では、「コメント」「名前」「メールアドレス」「サイト」欄に加え、「メールアドレスが公開されることはありません。*が付いている欄は必須です」や「コメント投稿者がCookie保存できるようにするチェックボックス」などが表示されているかと思います。
本サイトでは「メールアドレス」「サイト」「メールアドレスが公開されることはありません。*が付いている欄は必須です」「コメント投稿者がCookie保存できるようにするチェックボックス」の4項目を非表示にしています。
デフォルトの状態から、本サイトのようにカスタマイズする方法は以下です。
こちらのコードを「追加css」やstyle.css
などにコピペしてください。なお、このCSSは、本来表示されているものを上書きする形で無理やり見えなくする方法です。
.comment-form-email,
.comment-form-url,
.comment-notes {
display:none;
}
CSS無理やり見えなくするのは嫌だという方は、functions.php
に以下のコードをコピペしてください。
add_filter('comment_form_default_fields', 'my_theme_remove_url');
function my_theme_remove_url($arg) {
$arg['url'] = '';
$arg['email'] = '';
return $arg;
}
add_filter('comment_form_defaults', 'my_comment_notes_before');
function my_comment_notes_before( $defaults){
$defaults['comment_notes_before'] = '';
return $defaults;
}
PHP「コメント投稿者がCookie保存できるようにするチェックボックス」を非表示にするには、「設定 > ディスカッション設定 > 他のコメント設定」にある「コメント投稿者がCookieを保存できるようにする、Cookieオプトイン用チェックボックスを表示します」のチェックを外してください。
コメントフォーム設置で思ったこと気が付いたこと
- お問い合わせより気軽に使える分、管理が大変になる。
-
正直、注意点としてはこの要素が一番大きいです。スパム対策や迷惑コメント対策は勿論、コメント承認制を取る場合に必要となるコメントの手動承認の手間などです。サイト規模が大きくなるほど、この労力は増します。スパム対策についてはreCAPTUREを導入すると良いかと思います。私はXO Securityを使用しているので、コメントフォームへのreCAPTURE導入はクリック一つで出来ました。reCAPTUREを入れてからは、自動で送られてくるスパムは無くなりました(今のところは)。
- デフォルトのコメントフォームは要らない項目が多い。
-
私の場合、「メールアドレス」「サイト」欄がこれに該当します。「サイト」に関しては言わずともわかるかと思います。「メールアドレス」は何故かというと、コメントをしたい方の心理的な障害になったり、メールアドレスを入力して送られたコメントに返信する場合はこちらのメールアドレスもオープンになる(ある意味メールアドレスをばらまく)などがあると考えました。「名前」、「コメント」のみの方が、コメントする側の心理的ハードルは低いと思いますし、気軽に送られてくるコメントの返信に、こちらのメールアドレスを常にオープンで使うことも無くなります。
- コメント投稿者の名前とメールアドレスの入力を必須にするに注意。
-
これは本サイトのカスタマイズを行った方が対象ですが、「メールアドレス」欄を非表示にしている場合、「設定 > ディスカッション設定 > 他のコメント設定」にある「コメント投稿者の名前とメールアドレスの入力を必須にする」にチェックを入れていると、サイト利用者がコメントを送る際にエラーが出てしまい、正常にコメントを送ることができなくなります。「メールアドレス」欄を非表示にしている場合は、このチェックボックスにチェックを入れないようにしてください。「名前」欄を非表示にする場合も同様です。
- コメントの表示順は「新しい」もの順に。
-
「設定 > ディスカッション > 他のコメント設定」にある「コメントを各ページのトップに表示する」の箇所を「古い」から「新しい」ものに変更することをおすすめします。コメント投稿者に対してメールアドレスの入力を求めない場合、コメント投稿者はサイト管理者からの返信通知を受け取ることができません。そのためコメントが古い物順に表示されていると、投稿者はコメント確認のために過去のコメントを遡らなくてはならない場合が生じます。ですので、私は「新しい」に設定しています。