WordPress 4.4のコメントフォームは本文欄が先に出るため表示を確認する
公開日: 執筆:佐藤
WordPress 4.4へ更新したら、コメントフォームの本文欄が名前とメールアドレス欄より先に出ます。独自テーマを使っているサイトは、以前の並びへ戻す前に、返信リンクを押した直後から送信までを実際の画面で確かめます。今回の変更はコメントを受け付けるかどうかではなく、書く欄へ移る順序と、フォームを出す処理の順序に関わるためです。
コメント欄は、投稿の末尾にある飾りではありません。読者が文を書き、名前とメールアドレスを入れ、送信し、管理者が承認する入口です。並びが一つ変わるだけでも、テーマが前提にしていたHTML、返信リンクの移動先、必須項目の案内にずれが出ます。画面だけを旧来の形に合わせても、送信までの流れが崩れていれば直したことになりません。
先に本文欄へ移る理由と、変わらない設定を分ける
WordPress 4.4の開発者向け資料は、ログアウトした読者が返信するとき、コメント本文の入力欄を先頭へ移す変更を案内しています。返信リンクを押した人が、まず書くべき場所へ移れるようにするためです。同じ資料では、comment_form()が出力するHTMLと、一部のフックが動く順序も変わると説明しています。
4.4のField Guideでは、最終版でログイン状態にかかわらず、コメント本文欄が名前とメールアドレス欄より前に表示されることを案内しています。ログインしている管理者だけを見て問題がないと判断してはいけません。読者がログアウトしている状態で、返信リンクからフォームへ入ったときの画面を別に見ます。
ここで分けるべきなのは、入力欄の順番とコメント受付の設定です。WordPress 4.4へ更新しても、各投稿でコメントを許可するか、承認してから表示するか、メール通知を誰が受けるかは、フォームの並びとは別に決めます。本文欄が先へ来たからといって、質問や要望を無条件に公開する運用へ変える必要はありません。
たとえば、施工事例を紹介する投稿でコメントを受ける場合を考えます。読者は最初に質問を書くかもしれませんが、送信前に名前とメールアドレスが必要なら、その案内は本文欄のあとに現れます。運営側は、匿名の書き込みをどこまで受けるか、承認待ちのコメントを誰が確認するか、個別の見積もり相談をコメント欄で扱うかを、フォームの順番とは別に決めます。公開コメントで答えられない相談は、問い合わせ先へ案内する方が管理しやすい場合があります。
壊れやすいのは位置を前提にしたテーマの処理である
標準のフォームをそのまま使っているサイトなら、まず表示と送信を確かめれば足ります。注意が必要なのは、テーマやプラグインがフォームの部品を追加、移動、装飾している場合です。
たとえば、フォーム内の一番目の要素へ余白を付けるCSS、二番目の入力欄へ説明文を挿入するJavaScript、comment_form_field_commentやcomment_form_after_fieldsへ処理を足すPHPは、並びと実行順の影響を受けます。一番目、二番目という位置だけで対象を決めた処理は、項目の役割を見失いやすいものです。本文欄を扱う処理なら本文欄を、メールアドレスを扱う処理ならメールアドレスを、IDやname属性で指定します。
見た目にも同じことが起きます。名前とメールアドレスを横に並べ、その下へ本文欄を置く前提で幅や罫線を決めていたテーマでは、本文欄が上へ移ったときに、余白だけでなく見出しや送信ボタンとの距離が不自然になることがあります。CSSを一箇所だけ直して終えるのではなく、返信フォーム全体を見ます。
独自処理があるか分からない場合は、テーマ内でcomment_form、comment_form_field_comment、comment_form_after_fieldsを検索します。見つかったコードをすぐに書き換えるのではなく、何のために入っているかを確認します。入力欄の説明を足すための処理と、受付条件を変えるための処理は、直す人も確認する人も分けて記録しておくと、次の更新で判断を誤りません。
確認は返信リンクから始める
確認用の投稿を一件決め、次の順に画面を見ます。管理画面の設定だけを見ても、読者がたどる順序は分かりません。
- ログアウトした状態で投稿を開き、既存コメントの返信リンクを押す。
- 画面がコメント本文欄へ移るか、本文欄、名前、メールアドレス、送信ボタンの順序と説明が読めるかを見る。
- 必須項目を空欄にした場合と、すべて入力した場合を分けて送信する。案内がどの欄についているか、送信後に何が表示されるかを確認する。
- 管理画面でコメントの状態を確認し、承認待ちのままか、通知を受ける担当者が内容を確認できるかを見る。
- ログインした状態でも同じ投稿を開き、ログアウト時だけに起きる崩れが隠れていないかを見る。
この確認で問題が出たときも、本文欄を下へ戻すことを最初の解決策にしません。返信リンクが本文欄へ移らないならリンク先またはJavaScriptを調べます。必須項目の説明が伝わらないなら、表示する文言と位置を直します。テーマが特定の順番に依存しているなら、対象となる項目を明示して組み直します。原因と処置を分ければ、コメント受付の設定まで巻き込まずに済みます。
コメントを使わないサイトでも、古いテーマにフォームのテンプレートが残っていることはあります。更新後に投稿を開き、意図しないフォームが出ていないかだけは見ておきます。使わないなら、投稿ごとの設定とテーマの出力をそろえます。非表示に見える状態と、受け付けない設定は同じではありません。
最初にすることは、コメントを許可している投稿を一件選び、ログアウトしたブラウザで返信リンクを押すことです。本文欄へ移り、必要な項目を通って送信できるなら、WordPress 4.4の変更を自分のテーマで確認できます。
関連記事

