> Wordpress > Wordpressのコメントフォームをカスタマイズする方法

Wordpressのコメントフォームをカスタマイズする方法

Wordpressのコメント投稿フォームにオリジナルの項目を追加したり、デザインを変更したりするのに割と苦労したので、備忘録としてまとめておきます。

Wordpressの標準のコメントフォーム

Wordpress標準のコメントフォームは左記のようなものになります。
名前・メール・URLを入力させる箇所があります。

メールアドレス・URLなどはスパムURLを仕込まれる可能性があるので入れたくない場合もあると思います。

Wordpressのコメントフォームの項目(名前・メールアドレス・URL・コメント)の入力順を変更する方法

Wordpressのコメントフォームでは、例のように「コメント入力欄→名前→メールアドレス→ウェブサイト」という順番で表示されます。
これを「名前→メールアドレス→ウェブサイト→コメント入力欄」のように変更する方法は下記の通りです。

function.phpに加筆して利用します。

/**
 * コメント入力欄の表示順を変更する
 *
 * @param array $fields array
 * @retuen array $fields array
 */ 
function wp34731_move_comment_field_to_bottom( $fields ) {
    $comment_field = $fields['comment'];
    unset( $fields['comment'] );
    $fields['comment'] = $comment_field;

    return $fields;
}
add_filter( 'comment_form_fields', 'wp34731_move_comment_field_to_bottom' );

参考リンク:Offise Kondo「WordPress4.4から順番が変った!コメント入力フォームの入力欄の順番を戻す方法」
https://takayakondo.com/translate-comment-form-order-cure/

Wordpressのコメントフォームから項目(名前・メールアドレス・URL)入力欄を削除する方法

Wordpressのコメントフォームから名前・メールアドレス・URL入力欄を削除する方法は下記のとおりです。
function.phpに加筆してください。

※非表示にしたい場合はCSSでdisplay: none;を使用するという手もありますが、脆弱性への対応などを考えると、そもそも入力項目を削除する形での対応がよいかと考えます。

/**
 * コメントから各種入力項目を削除
 *
 * @param array  $arg arg
 * @retuen array $arg arg
 */
function my_comment_form_remove($arg) {
    $arg['url']    = ''; //URL消去
    $arg['email']  = ''; //メールアドレス消去
    $arg['author'] = ''; //名前消去
    return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_form_remove');

参考リンク:affilabo.com「WordPressのコメント欄から不要な項目を削除する方法」
https://affilabo.com/wordpress/14221/

Wordpressのコメントフォームから不要な文言を削除する方法

Wordpressのコメントフォームから「メールアドレスが公開されることはありません。 * が付いている欄は必須項目です」という文言を削除する方法は下記のとおりです。
function.phpに加筆してください。

※非表示にしたい場合はCSSでdisplay: none;を使用するという手もありますが、脆弱性への対応などを考えると、そもそも入力項目を削除する形での対応がよいかと考えます。

/**
 * 「メールアドレスが公開されることはありません。 * が付いている欄は必須項目です」の文言を削除
 *
 * @param array $defaults array
 * @retuen array $defaults array
 */
    function my_comment_notes_before( $defaults ){
        $defaults['comment_notes_before'] = '';
        return $defaults;
    }
    add_filter( "comment_form_defaults", "my_comment_notes_before");

参考リンク:affilabo.com「WordPressのコメント欄から不要な項目を削除する方法」
https://affilabo.com/wordpress/14221/

Wordpressのコメントフォームから「コメントを残す」を変更・削除する方法

Wordpressのコメントを採用している時、「コメントを残す」という文言が自動的に出力されます。
こちらの文言を変更・削除する方法は下記の通りです。

「コメントを残す」を変更する

文言を変更するには下記のようにfunction.phpを編集します。

/**
 * 「コメントを残す」を変更
 *
 * @param array $defaults arg
 * @return array $defaults arg
 */ 

function my_title_reply( $defaults){
    $defaults['title_reply'] = 'コメントはこちらから';
    return $defaults;
}
add_filter( 'comment_form_defaults', 'my_title_reply');

「コメントを残す」を削除する

文言を削除するには下記のようにfunction.phpを編集します。

※非表示にしたい場合はCSSでdisplay: none;を使用するという手もありますが、脆弱性への対応などを考えると、そもそも入力項目を削除する形での対応がよいかと考えます。

/**
 * 「コメントを残す」を削除
 *
 * @param array $defaults arg
 * @return array $defaults arg
 */ 

function my_title_reply( $defaults ) {
    $defaults['title_reply'] = '';
    return $defaults;
}
add_filter( 'comment_form_defaults', 'my_title_reply');

参考リンク:Think deeply, Do less, More effective「"コメントを残す" 削除・文言を変更する方法」
http://kwski.net/wordpress/804/

Wordpressでコメント投稿後にリダイレクトする方法

Wordpressでコメント投稿後に指定ページにリダイレクトする方法は下記のとおりです。
function.phpに追記して使用します。

/**
 * コメント投稿後に
 */

function redirect_after_comment () {
    $url = get_home_url().'/comment/complated'; // 指定URLへ遷移
    wp_redirect($url);
}
add_filter('comment_post_redirect', 'redirect_after_comment');

まとめ

様々チャレンジしてみましたが、Wordpressのコメントフォームは、あまり自由にカスタマイズできない印象です。
テーマファイルに記載して自由にフォームアイテムを配置したりはできないようなので、function.phpで諸々変更する必要があります。

この記事が気に入ったらシェアしてください

関連記事

Wordpressのカスタム投稿タイプで一覧・詳細画面を作らない方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)