コメントフォームのメールアドレス必須を解除する方法 | WordPress カスタマイズ

WordPress

wp_meruado_kaijo_image00

確かに「コメントする場合にメールアドレスも必須だと、なかなかコメントしずらいケースもあるかも。」ということで、WordPressの設定を変えてphpファイルに追記するだけで簡単に必須を解除できる方法の備忘録です。

もし必須であることを解除できて気軽にコメントできると、お互いに気持ちのいいやりとりができていいですよね。
【 環境 】WordPress : Twenty Fourteen

スポンサーリンク
[adSense]

名前とメールアドレスの必須を解除しよう!

とりあえずはじめに「WordPressディスカッションの設定」を変更して名前とメールアドレスの必須を解除したいと思います。
WordPress の管理画面より、[設定] → [ディスカッションの設定] を開き “名前とメールアドレスの入力を必須にする” のチェックを外します。

たったこれだけで名前とメールアドレスの必須は解除されました。
でも名前も空欄ではコメント欄に返事がしにくいですよね。

名前の入力欄は必須にしたい!

「名前の入力は必須のままがいい」という場合は以下の方法で名前の入力だけ必須にします。
functions.php に下記コードを追加します。
[php]
function preprocess_comment_author( $commentdata ) {
if ("" === trim( $commentdata[‘comment_author’] ))
wp_die(‘名前を入力して下さい。’);
return $commentdata;
}
add_filter(‘preprocess_comment’, ‘preprocess_comment_author’, 2, 1);
[/php]
これだけで設定が済みました。
コメントフォームの動作チェックをします。コメント欄のみを入力して送信した場合に下記のようになれば OK です。

ただこの状態だと、はじめてコメントする人には「必須」と「任意」の項目がわかりにくいかもしれませんね。

文言を変更しよう!

「必須」と「任意」の項目がわかるように「メールアドレスが公開されることはありません。」の文言を変更してみましょう。
合わせて「次のhtmlタグなど属性が使えます」の箇所も編集したいと思うのでfuncton.php(子テーマ)に下記を追記します。
[php]
/* comment-template.phpの配列$argsのカスタマイズ */
add_filter(‘comment_form_defaults’, ‘comment_form_customize_args’);
function comment_form_customize_args($args) {
// コメントフォームの前の文言を変更
$args[‘comment_notes_before’] = ‘<p class="comment-notes">ここに好きな文言を入れる</p>’;
// コメントフォームの前の文言を変更
$args[‘comment_notes_after’] = ‘ここに好きな文言を入れる’;
return $args;
}
[/php]

もし文言を消したい場合は…
[php]
function comment_form_customize_args($args) {
// コメント欄上部と下部の文章を削除
unset($args[‘comment_notes_before’],$args[‘comment_notes_after’]);
return $args;}
[/php]
上記をfuncton.php(子テーマ)に追記します。

※functions.phpファイルの扱いにはバックアップをとって、十分にご注意ください。詳細については「WordPress functions.php 子テーマ作成~編集、追記方法について エラーを防ぐ!|WP カスタマイズ」をご参考に。

「コメントを残す」の文言を変更しよう!

ちなみに「コメントを残す」の文言を変更したい場合は…
[php]
// オリジナル function comment_form in /wp-includes/comment-template.php
// 「コメントを残す」の文言を変更
add_filter( ‘comment_form_defaults’, ‘my_title_reply’);
function my_title_reply( $defaults){
$defaults[‘title_reply’] = ‘ここに文言を記入します’;
return $defaults;
}
[/php]
上記をfuncton.php(子テーマ)に追記します。

2015.06 追記
上記の方法よりも、翻訳ファイルを編集した方がシンプルでした。
編集の方法は、
簡単!翻訳ファイル(poファイル)の編集方法 | WordPress カスタマイズ
をご参考に。

以上ひととおりできたら、実際に名前の欄を空欄にしてチェックしてみます。

meado_kaijo03画像のように表示が出たらOKです。

ひとこと

スパム・迷惑コメントなどがあるとメールアドレスも必須になってくると思いますが、このブログにコメントをくれる皆さんはいい方ばかりなので必須は解除しました。ネットの中でもコミュニケーションがとりやすい環境が長く続いて、当たり前になることを願いたいです。

ということで今回のカスタマイズはfuncton.phpファイルの編集ばかりでしたので、お試しの際はバックアップをお忘れなく。

コメント

タイトルとURLをコピーしました