WordPressのコメント欄をカスタマイズする方法
目次
名前とメールアドレスの必須項目を解除する
デフォルトのコメント欄では、名前とメールアドレスの項目が必須項目になっています。管理画面から設定変更するだけで、必須条件を外すことができます。
管理画面にログインします。
[設定]にマウスを合わせて表示されたメニューから[ディスカッション]をクリックします。
他のコメント設定にある[コメントの投稿者の名前とメールアドレスの入力を必須にする]のチェックを外します。
デフォルトの入力項目を削除する方法
コメントの入力項目はデフォルトだと下記4項目になります。項目数が多いとコメントのハードルがあがってしまいコメントの記入率がさがってしまいますので、不要な項目を外すことができます。
- コメント
- 名前
- メールアドレス
- サイト
コメントの入力項目についてはご利用のテーマによって異なります。
本記事では、WordPress純正の[Twenty Nineteen]で検証しています。
入力項目を削除する方法は、2通りあります。
ひとつはCSSで非表示にしてしまう方法です。style.css
の一番下に追加で記述します。
但し、この方法は非表示にして見えなくなっているだけですので、ソースを表示させるとHTML上は存在しています。
もう一つの方法は、functions.php
に以下を記述することで項目自体を削除する方法です。finctions.php
の一番下に追加で記述します。
名前の入力項目を削除する
.comment-form-author {
display:none;
}
// コメントから[メールアドレス]項目を削除
function my_comment_author_remove($arg) {
$arg['author'] = '';
return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_author_remove');
メールアドレスの入力項目を削除する
.comment-form-email {
display:none;
}
// コメントから[メールアドレス]項目を削除
function my_comment_email_remove($arg) {
$arg['email'] = '';
return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_email_remove');
サイトの入力項目を削除する
.comment-form-url {
display:none;
}
//コメントから[サイト]項目を削除
function my_comment_site_remove($arg) {
$arg['url'] = '';
return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_site_remove');
コメント以外の入力項目を削除する
.comment-form-author,
.comment-form-email,
.comment-form-url {
display:none;
}
// コメントから[サイト]と[メールアドレス]項目を削除
function my_comment_site_email_remove($arg) {
$arg['author'] = '';
$arg['email'] = '';
$arg['url'] = '';
return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_site_email_remove');
注釈を削除する
[メールアドレスが公開されることはありません。 * が付いている欄は必須項目です]という表記を削除することができます。
//注釈を削除する
function my_comment_note_remove($args) {
$args['comment_notes_before'] = '';
$args['comment_notes_after'] = '';
return $args;
}
add_filter('comment_form_defaults', 'my_comment_note_remove');
送信ボタンの文言を変更する
送信ボタンの文言を[コメントを送信]から任意の文言に変更できます。
//送信ボタンの文言を変更
function my_comment_submit_change($args) {
$args['label_submit'] = '送信';
return $args;
}
add_filter('comment_form_defaults', 'my_comment_submit_change');
コメント数の表示方法
コメント数表示用の関数があらかじめ用意されていますので、それを使って簡単に表示させられます。
<?php comments_number( $zero, $one, $more ); ?>
- コメント数が「0」の時
- コメント数が「1」の時
- コメント数が「2」以上の時
引数は3つあり、コメント数によって表示させるテキストを変更することができます。
具体的には、下記のように記述することができます。
<p>この投稿は<?php comments_number( 'コメントがまだありません', 'コメントが1件のみあります', 'コメントが%件あります' ); ?>。</p>