コメント欄のメールアドレスを非表示にする ~WordPressでブログを始める~ | そう備忘録

コメント欄のメールアドレスを非表示にする ~WordPressでブログを始める~

前回の「コメントの設定」の記事

コメント欄のメールアドレスを非表示にする

コメント欄の名前とメールアドレスを任意項目にしたのでメールアドレス欄を非表示にしようと思う。

メールアドレス欄があるだけでコメントをしづらくなるかも知れないので。

いくつかやり方があるみたいで、CSSで隠す方法やfunctions.phpで非表示にする方法などがあったけど、functions.phpで非表示にする方法を試してみる事にした。

2018/12/21 追記

コメント欄のメールアドレス欄は表示する事にした。

JetPackプラグインのインストールを行い新しいコメントや投稿をメールで受け取る機能を追加したのでメール欄は任意項目として表示するように変更した。

尚、JetPackプラグインでの設定については別記事とする

メールアドレス欄の表示

修正前のコメント欄(テーマはHueman)

修正前のコメント欄

functions.phpの編集

「外観」「テーマの編集」で編集するテーマは子テーマを選択、テーマファイルは「テーマの為の関数 functions.php」を選択する。

最下行に以下を加える

functions.php
add_filter("comment_form_defaults","mytheme_remove_email");
function mytheme_remove_email($args){
$args['fields']['email'] = '';
$args['fields']['comment_notes_after'] = 'ウェブサイト欄は任意です';
return $args;
}

functions.phpの画面ショット

当初WordPress Codexの日本語版のcomment formの関数や他の人のブログを参考にして

functions.php
add_filter("<span class=" r_itacolor">comment_form_default_fields</span>","mytheme_remove_email");

で試していたのだけれども、どうもうまくいかない。

もしかしてデフォルトのテーマだと上手くいくのかも知れない。

テーマ(Hueman)が日本のものでは無いからなのか。。。

結局、英語の資料しか無いけどcomment_form_defaultsで試してみたら上手くいった。

修正にあたってはこちらのブログを参考にさせて頂きました。ありがとうございます。

なるほど、使うテーマによってはこーゆー事があるのね。勉強になった。

その他

ウェブサイト欄も非表示にしようと思って、

functions.php
$args['fields']['url'] = '';

を追加したら、まぁ確かにウェブサイト欄は消えたけど名前とボタンの位置がズレてておかしい。。。

コメント欄 ウェブサイト欄を非表示

この辺の動きはテーマによって違うのでHueman特有だと思う。

これはもう少し調べて、おいおい対応していこうかな。

ちなみにCSSに

style.css
.comment-form-email {display: none;}
.comment-form-url {display: none;}

を追加して非表示にする方法も試してみたけど「消えるけど位置がズレる」は変わらず。

とりあえずサイト欄の非表示はあきらめてfunctions.phpにて”ウェブサイト欄は任意です”をcomment_notes_afterに記述してウェブサイト欄は表示したままにする事にした。

2018年11月12日追記

コメントの部分の”ウェブサイト欄”を”サイト欄”に変更した

functions.php
add_filter("comment_form_defaults","mytheme_remove_email");
function mytheme_remove_email($args){
$args['fields']['email'] = '';
// $args['fields']['url'] = '';
$args['fields']['comment_notes_after'] = 'サイト欄は任意です';
return $args;
}

functions.phpの編集

2018/12/21 追記

JetPackのインストール&設定に伴いメール欄を表示する事にしたのでfunctions.phpを更に変更した

functions.php
add_filter("comment_form_defaults","mytheme_remove_email");
function mytheme_remove_email($args){
// $args['fields']['email'] = ''; /* email欄を表示する 2018.12.21 */
// $args['fields']['url'] = '';
$args['fields']['comment_notes_after'] = '名前、メールアドレス、サイト欄は任意です';
return $args;
}

functions.phpの変更

2018年12月24日 追記

更に修正。

結局functions.phpに手を加えて名前、メールアドレス、サイト欄に関する注意書きを追記する方法は止めにして、それぞれのラベルの後ろに注書きを入れる方法に変更した。

functions.phpの該当箇所はコメントアウト

functions.phpの該当箇所はコメントアウト

style.cssに下記のコードを加えてそれぞれのラベルの後ろに注書きを追記した。

名前、メールアドレス、サイトのラベルの後ろに80%のサイズでコンテンツを追記している。

2019/3/31 追記

コメント欄はすぐには表示されずに承認した後に表示される仕様になっているので、コメント欄のラベルの後ろに”承認後に表示されますのでしばらくお待ち下さい”の文言を追記した。

style.css
.comment-form-comment label:after {
content: "(承認後に表示されますのでしばらくお待ち下さい)";
font-size: 80%;
}
.comment-form-author label:after {
content: "(任意)";
font-size: 80%;
}
.comment-form-email label:after {
content: "(任意、表示されることはありません)";
font-size: 80%;
}
.comment-form-url label:after {
content: "(任意)";
font-size: 80%;
}
表示例

コメント欄のラベルに追記

次回の「Gravatarの作成」の記事

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。