コメント欄のメールアドレスを非表示にする ~WordPressでブログを始める~
Contents
コメント欄のメールアドレスを非表示にする
コメント欄の名前とメールアドレスを任意項目にしたのでメールアドレス欄を非表示にしようと思う。
メールアドレス欄があるだけでコメントをしづらくなるかも知れないので。
いくつかやり方があるみたいで、CSSで隠す方法やfunctions.phpで非表示にする方法などがあったけど、functions.phpで非表示にする方法を試してみる事にした。
コメント欄のメールアドレス欄は表示する事にした。
JetPackプラグインのインストールを行い新しいコメントや投稿をメールで受け取る機能を追加したのでメール欄は任意項目として表示するように変更した。
尚、JetPackプラグインでの設定については別記事とする
修正前のコメント欄(テーマはHueman)
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;
}
当初WordPress Codexの日本語版のcomment formの関数や他の人のブログを参考にして
add_filter("<span class=" r_itacolor">comment_form_default_fields</span>","mytheme_remove_email");
で試していたのだけれども、どうもうまくいかない。
もしかしてデフォルトのテーマだと上手くいくのかも知れない。
結局、英語の資料しか無いけどcomment_form_defaultsで試してみたら上手くいった。
修正にあたってはこちらのブログを参考にさせて頂きました。ありがとうございます。
なるほど、使うテーマによってはこーゆー事があるのね。勉強になった。
その他
ウェブサイト欄も非表示にしようと思って、
$args['fields']['url'] = '';
を追加したら、まぁ確かにウェブサイト欄は消えたけど名前とボタンの位置がズレてておかしい。。。
この辺の動きはテーマによって違うのでHueman特有だと思う。
これはもう少し調べて、おいおい対応していこうかな。
ちなみにCSSに
.comment-form-email {display: none;}
.comment-form-url {display: none;}
を追加して非表示にする方法も試してみたけど「消えるけど位置がズレる」は変わらず。
とりあえずサイト欄の非表示はあきらめてfunctions.phpにて”ウェブサイト欄は任意です”をcomment_notes_afterに記述してウェブサイト欄は表示したままにする事にした。
コメントの部分の”ウェブサイト欄”を”サイト欄”に変更した
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;
}
JetPackのインストール&設定に伴いメール欄を表示する事にしたので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に手を加えて名前、メールアドレス、サイト欄に関する注意書きを追記する方法は止めにして、それぞれのラベルの後ろに注書きを入れる方法に変更した。
style.cssに下記のコードを加えてそれぞれのラベルの後ろに注書きを追記した。
名前、メールアドレス、サイトのラベルの後ろに80%のサイズでコンテンツを追記している。
コメント欄はすぐには表示されずに承認した後に表示される仕様になっているので、コメント欄のラベルの後ろに”承認後に表示されますのでしばらくお待ち下さい”の文言を追記した。
.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%;
}
最近のコメント