【WordPress】functions.phpからコメントフォームに名前のデフォルト値を設定する方法

こちらの記事ではコメントフォームにデフォルトで名前を入力しておく方法を紹介します。

調べてもcomments.phpを直接編集する方法ばかりヒットしました。
しかし、この方法では親テーマが更新された時に上書きされてしまいます。

そこで、子テーマのfunctions.phpから設定できるようにしたので参考にしてください。

コメント欄に名前が最初から入力されている方が、気軽にコメントしてもらえますよね。

コメントの名前欄にデフォルトで名前を入力しておく方法

functions.phpに以下をコピペして貼り付けましょう。

// コメントの名前欄に「匿名」
add_filter( 'comment_form_default_fields', 'custom_comment_form_fields' );
function custom_comment_form_fields($fields) {
  $commenter = wp_get_current_commenter();
  $req = get_option('require_name_email');
  $aria_req = ($req ? " aria-required='true'" : '');
  $html5 = "";
  $fields =  array(
    'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .'<input id="author" name="author" type="text" value="匿名" size="30"' . $aria_req . ' /></p>',
    'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' . '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
    'url' => '',
  );
  return $fields;
}

8行目 value=”匿名” の部分を任意の設定したいデフォルト名に書き換えて使用してください。

同様に9行目 emailのvalueのダブルクオーテーション内を書き換えることによって、メールアドレスのデフォルト値も設定することができます。 必要な場合は書き換えましょう。

メールアドレスやウェブサイトなど不要な文言を削除する方法

コメント欄にデフォルトで表示される「メールアドレスが公開されることはありません。」等の邪魔な表記をfunctions.phpからコピペで削除する方法をまとめました。

興味のある方はこちらの記事もぜひご覧になってください。

1 個のコメント

  • コメントする