コメントフォーム・リストのカスタマイズ

コメント投稿部分は、基本的にはどのテーマでも同じフォームを出力してテーマのstyle.cssで外観を変えています。コメントフォーム欄をカスタマイズするには、プラグインもしくはフックを用いてカスタマイズを行います。
目次(コメントフォーム)
- 「ウェブサイト」フィールドを除外する
- コメントフォーム部分を変更する
- コメントフォーム内の注意書きを変更する
目次 (コメントリスト)
- 管理画面から設定できる項目
- コメント投稿者にリンクを付与しない
- 自動リンクを無効化する
- コメントの投稿日付・時間を削除
コメントフォームのカスタマイズ
「名前」「メールアドレス」「ウェブサイト」フィールドを除外する
コメントフォームには、デフォルトでは"名前(Name)"、"メールアドレス(Email)"、"ウェブサイト(Website)"が用意されています。
"ウェブサイト"にurlを入れて投稿された場合はコメント投稿者の"名前"にそのURLがリンクされます。
それぞれ非表示にする項目を選んで実装して下さい。
// functions.php(子テーマ)に追加 // オリジナル comment_form in wp-includes/comment-template.php function my_comment_form_fields( $fields){ unset( $fields['author']); // 「名前」を非表示にする場合 unset( $fields['email']); // 「メールアドレス」を非表示にする場合 unset( $fields['url']); // 「ウェブサイト」を非表示にする場合 return $fields; } add_filter( 'comment_form_default_fields', 'my_comment_form_fields');
「ウェブサイト」フィールドを除外するプラグイン
Disable/Hide Comment URL
コメントフォーム部分を変更する
「名前」「メールアドレス」「ウェブサイト」フィールド
変更する場合は、fucntions.php(子テーマ)で以下のように定義してauthor、email、urlの内容を書き換えます。例としてラベルを削除してプレースホルダーを入れてみます。
// functions.php(子テーマ)に追加 // オリジナル comment_form in wp-includes/comment-template.php add_filter( 'comment_form_default_fields', 'my_comment_form_default_fields'); function my_comment_form_default_fields($fields){ $commenter = wp_get_current_commenter(); $req = get_option( 'require_name_email' ); // 「名前」「メールアドレス」必須オプション $aria_req = ( $req ? " aria-required='true'" : '' ); // aria-required='trueの付与有無 $fields = array( // 名前 'author' => '<p class="comment-form-author">' . '<input id="author" name="author" type="text" placeholder="' . __( 'Name' ) . '" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' />' . ( $req ? '<span class="required">*</span>' : '' ) . '</p>', // メールアドレス 'email' => '<p class="comment-form-email">' . '<input id="email" name="email" type="text" placeholder="' . __( 'Email' ) . '" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' />' . ( $req ? '<span class="required">*</span>' : '' ) . '</p>', // URL(ウェブサイト) 'url' => '<p class="comment-form-url">' . '<input id="url" name="url" type="text" placeholder="' . __( 'Website' ) . '"value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>', ); return $fields; }
「コメント」フィールド
変更する場合は、fucntions.php(子テーマ)で以下のように定義してcomment_fieldの内容を書き換えます。例としてラベルを削除してプレースホルダーを入れてみます。
// functions.php(子テーマ)に追加 // オリジナル comment_form in wp-includes/comment-template.php add_filter( "comment_form_defaults", "my_comment_form_defaults"); function my_comment_form_defaults($defaults){ // 'comment_field' => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>', $defaults['comment_field'] = '<p class="comment-form-comment"><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true" placeholder="' . _x( 'Comment', 'noun' ) . '"></textarea></p>'; return $defaults; }
コメントフォーム内の注意書きを削除・変更する
「次のHTML タグと属性が使えます: ~」を削除
コメントフォーム下に表示される注意書きみたいなもの("form-allowed-tags")を非表示にします。
Webマスターツールの「コンテンツ キーワード」で”cite”とか”title”などのキーワードがなぜか上位にきたりします。この部分に1記事2つも3つも付くからでは と思い、消しました。CSSで消す方法もあるのですが、それだとインデックスに拾われてしまうので完全に削除することにします。
// 子テーマのfucntions.phpに追加して下さい。 add_filter( "comment_form_defaults", "my_comment_notes_after"); function my_comment_notes_after( $defaults){ $defaults['comment_notes_after'] = ''; return $defaults; }
CSSで削除する
/* 子テーマのstyle.phpに追加して下さい。*/ #respond .form-allowed-tags { display: none; }
「コメントを残す」を削除
「メールアドレスが公開されることはありません。 * が付いている欄は必須項目です」を削除
// 子テーマのfucntions.phpに追加して下さい。 // オリジナル comment_form in wp-includes/comment-template.php add_filter( "comment_form_defaults", "my_comment_notes_before"); function my_comment_notes_before( $defaults){ $defaults['comment_notes_before'] = ''; return $defaults; }
文言を変更する場合は、$defaults['title_reply']に対象の文章を入れて下さい。
.comment-notes { display: none; }
コメントリストのカスタマイズ
管理画面から設定できる項目
管理画面の「設定」→「ディスカッション」へとすすみ以下の設定を行うことができます。
他のコメント設定
スレッド表示
"コメントをxx階層までのスレッド (入れ子) 形式にする"
コメントに対して「返信」リンクから投稿された場合は、1つのディスカッションとしてスレッド表示されます。
ページネーション
"1ページあたりxxx件のコメントを含む複数ページに分割し、xxxのページをデフォルトで表示する"
設定によりコメント表示のページネーションをしてくれます。
コメントの表示順
"xxxコメントを各ページのトップに表示する"
承認されたコメントの表示順を設定します。"古い"→昇順もしくは"新しい"→降順に表示
コメント投稿者にリンクを付与しない
以下のプラグインでは、「ウェブサイト」フィールドは除外しません(入力してもらう)が、「名前」にリンクが付与されません。
Disable comment author links
自動リンクを無効化する
コメント内にURLがあると自動的にリンクが生成されます。その機能を無効化します。
remove_filter( 'comment_text', 'make_clickable', 9);
コメントの投稿日付・時間を消す
コメントの投稿日と投稿時間を消します。
// 子テーマのfunctions.phpに追加 add_filter( 'get_comment_date', '__return_false', 10, 2); // 日付を非表示 add_filter( 'get_comment_time', '__return_false', 10, 2); // 時間を非表示
その他、コメント表示部分に関わるカスタマイズ
関連記事
-
-
新年早々やらかした
あけましておめでとうございます。 タイトルどおり、新年早々やらかしてしまいましたのでご報告まで。どうやらかしたかというと、確認用サイトとこのブログを間違えてしまいWordpress 3.5にアップグ
-
-
ソーシャルボタン設置 プラグイン
各種メジャーなソーシャルメディアボタンを設置できるプラグイン WP Social Bookmarking Light 国産プラグイン。国産ゆえ、はてなボタンの設置も可能 ダウンロード Twe
-
-
head内に出力される要素を整理
Wordpressを使用していくうちに、head内がカオスな状態になっていくきますよね。そこで、そういう状態になったものをスッキリさせていこうという試みをやっていこうと思います。 削除方法 取り急
-
-
「Contact Form 7」 メッセージの送信に失敗~
この修正はWordPress 3.5で行われているようです。(~3.4.2) Contact Form 7で以下のエラーメッセージが出る場合は、確認してみて下さい。 「メッセージの送信に失敗
-
-
「編集(Edit)」リンクの非表示方法
ログインした状態で投稿ページを開くと投稿内や各コメントに各編集ページへリンクしてくれる「編集」リンクが表示されます。(繰り返し言いますが、自サイトにログインしているユーザにしか見えません。) こ
-
-
Twitterのツイートボタンの設置
Twitterのツイートボタンの設置はプラグインを使用しなくても容易に実装できるようです。 ソーシャルボタン設置のプラグインはこちらにいちおうまとめています。 Tweetボタンの設置コード 公式
-
-
テーマ 「Responsive」 カスタマイズ
デモ | ダウンロード 目次 投稿日 非表示 作成者 非表示 "Responsive Theme powered by WordPress" 削除 投稿日 非表示 オリ
-
-
画像マウスオーバーでキャプションを表示
メディアをアップロードした際に、「キャプション」項目にテキストを設定された画像を挿入した場合はキャプションショートコードが生成され、ページ内の各画像下にその設定したテキストが表示されます。 今回
-
-
Twenty Fourteen 「投稿者」を非表示
TwentyFourteenでは、シングルページやアーカイブページにそれぞれ「投稿者」が表示されます。投稿者を非表示にさせる方法を投稿してみます。表示させる場合は、以下を参考に表示名などを変更してみて
-
-
"コメントを残す" 削除・文言を変更する方法
コメントフォームに表示される「コメントを残す」はWordPress標準で翻訳される要素です。テーマ側でカスタマイズしていない限り表示されます。 ここでは、この要素を削除したり、文言を変更する方法を紹
Comment
[…] 参照:http://kwski.net/wordpress/1060/ […]
素敵な記事! 読みやすい!
コメントフォーム
ううっphpいじるのこわいなー
WordPress - コメントフォーム・リストのカスタマイズ : https://t.co/TCozjmGLtu
コメントフォーム・リストのカスタマイズ https://t.co/qs0aa8sr6z
[…] 参考 WordPress | コメントフォーム・リストのカスタマイズ […]
[…] コメントフォーム・リストのカスタマイズ […]
[…] Think deeply, Do less, More effective コメントフォーム・リストのカスタマイズ […]
WordPressのコメントフォームのカスタマイズはここが非常に参考になりました。URLやメールの入力欄を削除するなど。ちなみにStinger使ってます。 RT コメント部分のカスタマイズ http://t.co/MB1IRkS7Hy
[…] http://kwski.net/wordpress/1060/ […]
[...] この記事が参考になりました。 http://kwski.net/wordpress/1060/ [...]