WordPress 4.9.6のcomment cookie選択はcheckboxを出す前に受付の目的とthemeの実装を確かめる
公開日: 執筆:佐藤
WordPress 4.9.6へ更新してcomment formにcookie保存のcheckboxが現れたら、消すか残すかを見た目だけで決めません。未ログインの人がname、mail address、websiteをbrowserへ保存するか選ぶ欄であり、commentを受けるかどうかを決める欄ではありません。まず、そのsiteがcommentを何のために受け、誰が読んで承認し、読者がどこへ質問を送るかを確かめます。そのうえで、標準のcomment_form()を使うthemeか、入力欄を作り替えたthemeかを分けて表示と送信を確認します。
WordPress 4.9.6の公式案内では、未ログインのcommenterに対し、name、mail address、websiteをbrowserのcookieへ保存するか選べるようになったと説明されています。保存を選ばなければ、次回commentするときに入力欄を自動で埋める便利さは得られません。けれども、commentを送れなくなるわけではありません。入力の保存とcommentの受付を同じ設定として扱わないことが出発点です。
cookie保存の選択とcommentの受付は別のことを決める
comment formには、comment本文、name、mail address、website、送信buttonなど、いくつかの入力欄があります。WordPress 4.9.6で加わったcheckboxは、そのうちname、mail address、websiteを次回の入力用にbrowserへ保存するかを選ぶための欄です。投稿したcommentを公開するか、承認待ちにするか、spamとして扱うかを決めるものではありません。
ここを混同すると、二つの誤りが起きます。一つは、checkboxを表示しただけでcomment受付に必要な説明が済んだと考えることです。もう一つは、checkboxがあることを理由にcomment自体を止めることです。前者では、commentを読む人や承認基準が決まりません。後者では、読者の質問を受ける場所まで失うことがあります。必要なのは、cookieの欄だけを見て結論を出すことではなく、comment form全体がsiteの目的に合っているかを確認することです。
たとえば、記事へ補足や質問を受け、管理者が内容を確認してから表示するsiteなら、commentを受ける目的があります。その場合は、本文欄、名前の表示、mail addressの扱い、承認の流れ、質問への返答方法を分けて決めます。一方、問い合わせを個別のformや電話で受けるsiteなら、公開commentへ連絡を集める理由は薄くなります。cookieのcheckboxを整えるより先に、commentを残すか、問い合わせ先へ案内するかを決めます。
保存を選ばない人もcommentできるようにする
cookie保存のcheckboxは、未ログインのcommenterが自分で選ぶ欄です。標準では最初から選択された状態にしません。保存を選んだ人は、同じbrowserで次にcommentするとき、name、mail address、websiteの入力を省けます。保存を選ばない人は、その都度入力することになります。便利さの差はありますが、commentの内容や承認の扱いに差を付ける理由にはなりません。
実際の画面で確認するときは、選択した場合だけを見ません。新しいbrowser profileかprivate browsingで記事を開き、checkboxを選ばずに必要な欄を入力して送信します。次に、同じ条件でcheckboxを選んで送信し、もう一度formを開きます。前者では以前の入力が残らないこと、後者では保存を選んだ項目が次回の入力欄へ使われることを確かめます。表示が確認できても、送信後のcommentが承認待ちへ入るか、通知が届くか、公開画面に意図しないmail addressが出ないかは別に確認します。
仮に、会社の担当者が自分の記事へ補足commentを書く場合でも、普段使うbrowserに入力が残ることと、第三者のcommentを承認する責任は別です。担当者の作業を少し省けるからといって、すべての読者に保存を勧める説明にしません。保存を選ばない人も同じように投稿でき、公開前の確認が同じように行われる状態を保ちます。
standardのcomment formと作り替えたthemeを分ける
WordPress 4.9.6のtheme作者向け案内では、comment_form()で表示するformには、新しいcheckboxが自動で加わるとされています。多くのthemeは、そのまま表示を確認すれば足ります。ただし、独自themeでcomment_form()へfieldsを渡し、nameやmail addressの欄を自分で並べ直している場合は別です。その書き方では、新しいcookie欄が自動で入らず、fieldsの一覧へ加える必要があります。 theme作者向けの変更案内
したがって、管理画面でcommentを有効にしているだけでは確認になりません。更新前に、使用中themeのcomment templateと、comment_form()を呼ぶ箇所を見ます。標準の呼出しなら、更新後に公開画面でcheckboxとlabelが読めるかを確認します。fieldsを指定しているなら、name、mail address、website、cookie欄がどの順に出るかを確認します。独自のformをPHPやJavaScriptで作っている場合は、WordPressの標準欄を受け取る処理と自作の送信処理を混ぜず、どちらが実際に動いているかを制作側へ渡します。
checkboxが出ないからといって、公開中themeのfileを管理画面から急いで書き替えません。まずtest siteで、更新後のWordPressと使用中themeの組合せを再現します。次に、standardのcomment formか、fieldsを上書きしているformかを確認します。直す箇所が分かったら、themeの管理方法に合わせて変更し、記事pageと固定pageの両方で表示を見ます。codeを直す作業と、公開画面で読者が選べるかを確かめる作業を同じ完了条件にしないでください。
CSSの調整は選択肢を見えるようにするために行う
新しい欄がformへ追加されると、custom themeではcheckboxとlabelの位置が崩れることがあります。特に、input要素を横幅いっぱいにするstyleや、labelへ一律の余白を付けるstyleを使っている場合は、checkboxが本文欄のように広がったり、文が折れて読みにくくなったりします。この問題はcookie保存の機能が動かない問題とは別です。HTMLの欄が出ているかを確かめてから、CSSを直します。
確認する場所は、PCだけでは足りません。狭い画面では、短いcheckboxの横に長い説明文が並び、送信buttonの近くへ押し出されることがあります。labelを押して選択できるか、tab keyで移動したときに現在位置が分かるか、文章が途中で隠れないかを見ます。見出しの下にcheckboxだけが残り、どの入力に関する選択か分からないなら、余白の調整より先にform内の順序を見直します。
外部のcomment serviceやform pluginを使っている場合も、WordPress coreのcheckboxがその画面へ自動で加わるとは決めつけません。WordPressの投稿commentと、外部serviceが受ける入力は保存先も設定画面も異なります。使っているformの種類、送信先、cookieの扱い、表示を確認する担当を分けます。WordPress 4.9.6の更新画面に成功と出たことは、外部serviceの表示まで確認した記録にはなりません。
更新後の確認は受付方針から画面へ進める
更新後は、次の順で確認すると判断を混ぜずに済みます。
| 順序 | 確認すること |
|---|---|
| 受付方針 | commentを受ける目的、承認する人、質問の案内先 |
| formの種類 | standardのcomment_form()か、fieldsや独自codeで作り替えたformか |
| 保存の選択 | checkboxを選ぶ場合と選ばない場合の入力欄の動き |
| 表示 | PCとmobileでcheckbox、label、送信buttonが読めて操作できるか |
| 送信後 | commentの承認待ち、通知、公開画面、不要な表示がないか |
表の順序は、checkboxを必ず残すための手順ではありません。commentを受ける目的がないsiteなら、formを開いたまま細かなstyleだけ直す必要はありません。反対にcommentを残すなら、cookie保存の選択を消して以前の見た目へ戻す前に、未ログインの読者がどの情報を入力し、browserに何を残すかを説明できる状態にします。
WordPress 4.9.6の変更は、comment formへ一つのcheckboxを増やすだけに見えます。しかし、公開画面の入力欄は、siteが読者から何を受け、どこまで保存するかを表す場所です。最初の一手は、commentを受ける記事を一つ選び、未ログインの状態でformを開くことです。次に、保存を選ぶ場合と選ばない場合を試し、themeの実装、表示、承認の流れを別々に記録します。これなら、便利さのための保存と、commentを受ける運用を混同せずに確認できます。
関連記事

