本ページはアフィリエイトプログラムによる収益を得ています。
WordPress全般

【Luxeritas】コメントフォームのコメント欄以外を消す方法

最初に書いておきますと、ここには「Luxeritas」制作者のるなさんの記事以上のことは書いてありません。あくまで備忘録的に書き残しています。

コメントフォームをスリムにしたい

WordPressのコメントフォーム、弱小ブログがコメントをどんどんいただきたいときなんかは、名前・URL・メールアドレスの入力欄ってすごく邪魔なんですよね。別にその情報はいらないし、コメントだけ気軽にポンっと置いておいてほしい。

そんな要望をかなえてくれたのが「Luxeritas」制作者のるなさん。

functions.phpに記載するだけ

Luxeritas > 子テーマの編集 > functions.php に、以下のコードを書き加えるだけで、コメントフォームのURL・メールアドレス・名前の記入欄を消去することができます。
// コメントフォームの URL、メール、名前の入力欄を消す
add_filter( ‘comment_form_default_fields’, function( $fields ) {
unset( $fields[‘url’], $fields[‘email’], $fields[‘author’] );
return $fields;
}, 8 );
※設定 > ディスカッション から、「コメントの投稿者の名前とメールアドレスの入力を必須にする」のチェックを外しておいてください。これを外さないと、誰もコメントできないことになります。

URL・メールアドレス・名前のどれかを残したいときは、fields[‘url’]、$fields[‘email’]、$fields[‘author’]の対応するものを外せばOKです。

文言を消す

「メールアドレスが公開されることはありません。」という文字列を消したいので、同じくfunctions.phpに以下のコードを記述します。
//「メールアドレスが公開されることはありません。」を消す
add_filter( ‘thk_comments’, function() {
ob_start();
comments_template();
$comments = ob_get_clean();
$comments = str_replace( ‘<p class=”comment-notes”><span id=”email-notes”>メールアドレスが公開されることはありません。</span>’, ”, $comments );
return $comments;
}, 10 );

これで完成!

functions.phpに追記するだけなので、1分でできてしまう。

コメント欄の名前・URL・メールアドレスを消したいサイトは今のところ一つだけあるので、そちらで試しに導入しています。1か月たっていますが、「reCAPTCHA v3」を入れているおかげか、スパムは全く来ていません。

どのサイトもこれをやればいいというわけではありませんが、必要に応じて使っていきたいです。