コメントフォームをカスタマイズしたいなと思ったのでいろいろ調べたメモ。
WordPressの基本的な(twentytwelve)コメントフォームはこんな感じ。
やりたいことは
・コメントフォーム上部のメッセージの変更
・このコメントフォームの「名前」の項目を「ニックネーム」に変更
・URLの項目はいらないので削除
こんな感じにするためのメモ。(完成形)
いずれもあんまり元を触りたくないということもあり、フィルターフックを使用しました。
コメントフォーム上部のメッセージの変更
後述するサイトを参考
add_filter('comment_form_defaults', 'custom_comment_form'); function custom_comment_form($args) { $args['title_reply'] = 'コメントを投稿する'; $args['comment_notes_before'] = '<div class="comment-notes"><ul><li>いずれも必須項目です。</li><li>入力いただいたメールアドレスは公開することはありません。</li><li>個人情報などを記入された場合、投稿いただいたコメントを表示しないか、<br>該当箇所を編集して公開する可能性があります。</li></ul></div>'; $args['comment_notes_after'] = '<p class="form-allowed-tags">内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。</p>'; $args['label_submit'] = 'コメントを投稿する'; return $args; }
このコメントフォームの「名前」の項目を「ニックネーム」に変更
add_filter('comment_form_default_fields', 'change_comment_name_fields'); function change_comment_name_fields( $translated ) { $translated = str_ireplace( '名前', 'ニックネーム', $translated ); return $translated; }
名前って表示してあるとこをニックネームに変えてねっていう指示。
URLはいらないので削除
URLは一番簡単なのはcssで非表示にしてやることだと思う。が今回はunsetで取り除いた。
add_filter('comment_form_default_fields', 'remove_comment_url_fields'); function remove_comment_url_fields($fields) { unset($fields['url']); return $fields; }
まとめ:フィルターでいろいろできる。
今回は項目追加することは無かったのですがテンプレートタグ/comment form(Codex)や下記サイトに他カスタマイズ方法が紹介されていますのでそちらもご覧下さい。
いろいろできそうです。
参考:WordPress のコメントフォームを functions.php を使ってカスタマイズする
WordPress:コメントフォームをカスタマイズする方法