WordPressでGDPRコメントプライバシーオプトインチェックボックスを追加する方法
公開: 2022-05-23この記事では、WordPressにGDPRコメントのプライバシーオプトインチェックボックスを追加する方法を紹介します。
いつ、なぜWordPressにコメントプライバシーオプチンチェックボックスを追加しますか?
最近、GDPR(一般データ保護規則)と呼ばれる新しい欧州連合法が施行されました。 この法律の目的は、EU市民が個人データを管理できるようにし、世界中の組織のデータプライバシーアプローチを変更することです。
WordPressは最近、最新の4.9.6リリースでGDPRコンプライアンスに対応しました。 まだ更新していない場合は、すぐに最新のWordPressバージョンに更新する必要があります。
WordPressが個人情報を保存および使用する方法の1つは、コメントフォームにあります。 ユーザーがWebサイトにコメントを残すと、名前、電子メールアドレス、およびWebサイト情報がブラウザーのCookieに保存されます。 このCookieを使用すると、WordPressは、次回の訪問時にコメントフォームにユーザーの情報を自動的に入力できます。
WordPress 4.9.6では、デフォルトのWordPressコメントフォームにコメントプライバシーオプトインチェックボックスが表示されるようになりました。 デフォルトのWordPressコメントフォームを使用するすべてのWordPressテーマは、このチェックボックスを自動的に表示するようになりました。
サイトにコメントプライバシーチェックボックスが表示されている場合は、これ以上読む必要はありません。 ただし、コメントチェックボックスがサイトに表示されていない場合は、読み続ける必要があります。WordPressでコメントプライバシーチェックボックスを追加する方法を説明します。
WordPressにコメントプライバシーオプチンチェックボックスを追加
まず、最新バージョンのWordPressとテーマを使用していることを確認する必要があります。 [ダッシュボード]»[更新]ページに移動して、更新を確認してください。
現在のテーマまたはWordPressのアップデートが利用可能な場合は、先に進んでインストールしてください。 次に、Webサイトのコメントフォームをチェックして、更新によってコメントのプライバシーチェックボックスが追加されたかどうかを確認します。
テーマとWordPressの両方が最新であり、それでもコメントのプライバシーチェックボックスが表示されない場合は、WordPressテーマがデフォルトのWordPressコメントフォームを上書きしていることを意味します。
サポートチケットを開くことで、テーマの作成者にこの問題の修正を依頼できます。 テーマの作成者がアップデートをリリースするまで、自分で修正することもできます。
コメントプライバシーチェックボックスをWordPressテーマに追加する方法は2つあります。 両方の方法を紹介しますので、自分に合った方法を試すことができます。
どちらの方法でも、WordPressテーマファイルにコードを追加する必要があります。 これまでにこれを行ったことがない場合は、WordPressでコードをコピーして貼り付ける方法に関するガイドを参照してください。
方法1:テーマのコメントフォームにコメントプライバシーチェックボックスを追加する
この方法は、テーマのコメントフォームのスタイルとレイアウトを保護しようとするため、お勧めします。
まず、デフォルトのWordPressコメントフォームを上書きするために使用されるコードを見つける必要があります。 通常、テーマフォルダのcomments.phpまたはfunctions.phpファイルにあります。
'comment_form_default_fields'フィルターを使用してコードを探します。 このフィルターは、デフォルトのWordPressコメントフォームをオーバーライドするためにテーマによって使用されます。
すべてのコメントフォームフィールドに特定の形式の行が表示されます。 これは、あなたが探しているもののアイデアを与えるためのサンプルコードです:
$comments_args = array(
//送信ボタンのタイトルを変更します
'label_submit'=> esc_html(__('Post Comments','themename')),
//返信セクションのタイトルを変更します
'title_reply'=> esc_html(__('Leave a Comment','themename')),
//独自のテキストエリア(コメント本文)を再定義します
'comment_field' => '
<div class="form-group"><div class="input-field"><textarea class="materialize-textarea" type="text" rows="10" name="comment" aria-required="true"></textarea></div></div>',
'fields' => apply_filters( 'comment_form_default_fields', array(
'author' =>'' .
'<div><div class="input-field">' .
'<input class="validate" name="author" placeholder="'. esc_attr(__('Name','themename')) .'" type="text" value="' . esc_attr( $commenter['comment_author'] ) .
'" size="30"' . $aria_req . ' /></div></div>',
'email' =>'' .
'<div><div class="input-field">' .
'<input class="validate" name="email" placeholder="'. esc_attr(__('Email','themename')) .'" type="email" value="' . esc_attr( $commenter['comment_author_email'] ) .
'" size="30"' . $aria_req . ' /></div></div>',
'url' =>'' .
'<div class="form-group">'.
'<div><div class="input-field"><input class="validate" placeholder="'. esc_attr(__('Website','themename')) .'" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) .
'" size="30" /></div></div>',
)
),
);
comment_form($comments_args); ?>

このコードでは、 comment_form_default_fieldsフィルターを使用して、作成者、電子メール、およびURLフィールドを変更していることがわかります。 配列内では、次の形式を使用して各フィールドを表示します。
'fieldname' => 'HTML code to display the field',
'anotherfield' => 'HTML code to display the field',
コメントプライバシーオプチンチェックボックスフィールドを最後に追加します。 コードは次のようになります。
$comments_args = array(
//送信ボタンのタイトルを変更します
'label_submit'=> esc_html(__('Post Comments','themename')),
//返信セクションのタイトルを変更します
'title_reply'=> esc_html(__('Leave a Comment','themename')),
//独自のテキストエリア(コメント本文)を再定義します
'comment_field' => '
<div class="form-group"><div class="input-field"><textarea class="materialize-textarea" type="text" rows="10" name="comment" aria-required="true"></textarea></div></div>',
'fields' => apply_filters( 'comment_form_default_fields', array(
'author' =>'' .
'<div><div class="input-field">' .
'<input class="validate" name="author" placeholder="'. esc_attr(__('Name','themename')) .'" type="text" value="' . esc_attr( $commenter['comment_author'] ) .
'" size="30"' . $aria_req . ' /></div></div>',
'email' =>'' .
'<div><div class="input-field">' .
'<input class="validate" name="email" placeholder="'. esc_attr(__('Email','themename')) .'" type="email" value="' . esc_attr( $commenter['comment_author_email'] ) .
'" size="30"' . $aria_req . ' /></div></div>',
'url' =>'' .
'<div class="form-group">'.
'<div><div class="input-field"><input class="validate" placeholder="'. esc_attr(__('Website','themename')) .'" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) .
'" size="30" /></div></div>',
//ここで、新しいプライバシーチェックボックスoptinを追加します
'cookies' => '<p class="comment-form-cookies-consent"><input name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' />' .
'<label for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></p>',
)
),
);
comment_form($comments_args); ?>
方法2:テーマのコメントフォームをWordPressのデフォルトに置き換える
このメソッドは、テーマのコメントフォームをデフォルトのWordPressコメントフォームに置き換えるだけです。 このメソッドを使用すると、コメントフォームの外観に影響を与える可能性があり、カスタムCSSを使用してコメントフォームのスタイルを設定する必要がある場合があります。
テーマのcomments.phpファイルを編集し、 comment_form()関数でその行を探します。 テーマには、テーマのカスタムコメントフォームをロードするための定義済みの引数、関数、またはテンプレートが含まれます。 comment_form行は次のようになります。
<?php comment_form( custom_comment_form_function() ); ?>
次の行に置き換える必要があります。
<?php comment_form(); ?>
変更を保存して、Webサイトにアクセスすることを忘れないでください。 コメントプライバシーオプチンチェックボックスが付いたデフォルトのWordPressコメントフォームが表示されます。
この記事が、WordPressにGDPRコメントプライバシーオプチンチェックボックスを追加する方法を学ぶのに役立つことを願っています。