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

コメント投稿部分は、基本的にはどのテーマでも同じフォームを出力してテーマのstyle.cssで外観を変えています。コメントフォーム欄をカスタマイズするには、プラグインもしくはフックを用いてカスタマイズを行います。

目次(コメントフォーム)

  1. 「ウェブサイト」フィールドを除外する
  2. コメントフォーム部分を変更する
  3. コメントフォーム内の注意書きを変更する

目次 (コメントリスト)

  1. 管理画面から設定できる項目
  2. コメント投稿者にリンクを付与しない
  3. 自動リンクを無効化する
  4. コメントの投稿日付・時間を削除

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

「名前」「メールアドレス」「ウェブサイト」フィールドを除外する

コメントフォームには、デフォルトでは"名前(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);  // 時間を非表示


その他、コメント表示部分に関わるカスタマイズ

「編集(Edit)」リンクの非表示方法

  • このエントリーをはてなブックマークに追加

関連記事

Twenty Thirteen テーマ用フォント "Source Sans Pro" / "Bitter"の使用を止

TwentyThirteenでは、テーマ用のフォントとして「Source Sans Pro」と「Bitter」というフォントをGoogleフォントから引っ張ってきて使用されるようです。 ちなみにどの

開発やテストに便利なプラグイン

開発やカスタマイズに使えそうなプラグインを集めてみました。 テーマのカスタマイズには、使用中のテンプレートファイルなどを表示してくれると便利ですね。個人的には、テーマ開発の際に、実行しているSQ

管理画面のCSSをカスタマイズ

管理画面のスタイルを変更したくなったので、カスタマイズしてみました。一例として以下を取り上げてみます。 「投稿一覧」の画面でカスタムフィールドが追加されていくと、そんなに幅が必要のないところが長くな

コメント欄停止・コメント削除

WordPressでは標準でコメント機能が付いてきます。この投稿ではコメント機能の停止や既に投稿されたコメントを削除する方法を紹介します。 設定による停止方法 新規の投稿に関してコメントを停止

新年早々やらかした

あけましておめでとうございます。 タイトルどおり、新年早々やらかしてしまいましたのでご報告まで。どうやらかしたかというと、確認用サイトとこのブログを間違えてしまいWordpress 3.5にアップグ

独自のCSSやJSを読み込む

WordPressで、プラグインではなく自作したりダウンロードしてきたCSSやJS(プラグイン)を読み込んだりするケースがあると思います。今回は、その際のCSSやJSファイルの使用方法をまとめてみまし

折りたたみ要素やタブなどをショートコードで実装できるプラグイン「Arconix Shortcodes」

「Arconix Shortcodes」は、投稿内にショートコードでいろいろな要素を実装できるプラグインです。ダウンロードはこちらからできます。ダウンロード・解凍してpluginsディレクトリにアップ

ツールチップ実装プラグイン「WordPress Tooltip」

「WordPress Tooltip」は、WordPressにツールチップを実装できるプラグインです。jQueryプラグイン「TipTip」を組み込んでいます。プラグインページの対応バージョンは古めで

no image

スライダー・ギャラリー プラグイン

WordPressにギャラリーが実装できるプラグインをまとめてみました。 順番はオススメ順です。 Simple Responsive Slider #ショートコード #テンプレート #ウ

ナビゲーションメニューに検索フォームを追加

メニュー内に検索フォームを追加したいという問い合わせをいただいたので試してみました。 メニューのつくられかた まずは、WordPressでメニューがつくられる手順を説明します。 箱をつく

Comment

Luxeritasのコメント欄を変更 | Homeworks へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑