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

コメント投稿部分は、基本的にはどのテーマでも同じフォームを出力してテーマの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 Twelve 1.3での変更点

Twenty Twelve 1.3 での変更点 アバターサイズの設定ロジック変更 ヘッダ画像の設定ロジック変更 全ての変更点はこちら Changes from twentytwel

Google Code Prettifyを使用してソースコードを表示をしてくれる「Prettify Code Syntax」

Prettify Code Syntaxは、WordPressでGoogle Code Prettifyを使用してソースコードを表示してくれるプラグインです。 プラグインダウンロード Google

「Google Analytics for WordPress」投稿URLにやたら長いパラメータがついてしまう

Google 検索結果をみていたら、Wordpressの投稿のURLが実際のものより異様に長くなっているので何かなと思って調査してみました。 このような感じで http://kwski.net

「All in One SEO Pack」を代替するための準備

「All in One SEO Pack」は、SEO対策に必要な基本的な設定を行ってくれるプラグインです。とある事情で、無効化することになったので代替を行いました。特に問題があるわけではなく、特殊なこ

Twenty Twelve 投稿者情報を表示/非表示に

TwentyTwelveでは、投稿ページごとに投稿者の情報を掲載することができます。他のテーマでも同様だと思います。こんな感じです。ここでは、掲載と削除の方法について記載します。 表示方法 「

Twenty Fourteen 「投稿日」や"先頭固定表示"を非表示

日付を表示する部分は、全てtwentyfourteen_posted_onに集約されています。該当部分をコメントアウトしたかたちで子テーマのfunctions.phpに追加して下さい。 「投稿日

プラグイン関連のJSやCSSの読み込みをフィルター

プラグインをインストールしていくとheadやfooter内がCSSやJSで溢れていきます。できるだけ、自分で書けるものに関しては、余計なコールが少なくなるので可能な場合はそうしていますが(そうもいかず

ie.cssの子テーマ化など Twenty Twelve 1.1での変更点

TwentyTwelveが1.0から1.1にアップデートされたので、勉強もかねていくつか変更点を洗ってみました。 ie.cssを外出し pubdateの削除 rel="generator"

テーマ ブックマーク 2013

2012 フリーテーマ トップ 20 Top 20 Free WordPress Themes of 2012 http://ow.ly/wMGjZ ハイクオリティフリーテーマ 3月 20 Top

no image

Google+ プラスワン(+1)ボタンの設置

Google+の+1ボタンの設置はプラグインを使用しなくても容易に実装できるようです。ソーシャルボタン設置のプラグインはこちらにいちおうまとめています。 プラスワン(+1)ボタンの設置コード 公式

Comment

Message

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

*

PAGE TOP ↑