ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

ログインユーザー向けの匿名アンケートフォームの作成

ログイン中のユーザー向けに匿名アンケートフォームを作成しますか?デフォルトでは、WPFormsはすべてのエントリに対してユーザーIDとユーザーIPアドレスをキャプチャします。

デフォルトのエントリ画面では、ユーザーがログインしている場合はユーザーIDをキャプチャしますが、ユーザーIPアドレスもキャプチャします。

完全に匿名なフォームを提供したい場合は、この情報は保存されないようにする必要があります。カスタムPHPフィルターを使用すると、これらの詳細の保存を簡単に無効にできます。

このチュートリアルでは、サイトのログイン中のユーザー向けに匿名フォームを作成する各ステップを順を追って説明します。


フォームの作成

まず、新しいアンケートフォームを作成する必要があります。アンケートフォームの作成にヘルプが必要な場合は、こちらのドキュメントをご覧ください

まずアンケートフォームを作成します。完全に匿名にするには、名前またはメールアドレスのフォームフィールドを省略するだけです。

注意: フォームが100%匿名であることを維持するために、フォームから名前とメールアドレスのフォームフィールドを省略することを忘れないでください。

ログイン中のユーザー向けにフォームを匿名に保つためのPHPの追加

次に、エントリからユーザーIDとIPアドレスを削除するコードスニペットを追加する時間です。サイトにコードスニペットを追加するのにヘルプが必要な場合は、こちらのチュートリアルをご覧ください

/**
 * Remove user ID and IP address from form entry.
 *
 * @link   https://wpforms.com/developers/wpforms_process_filter/
 */
  
function wpf_dev_entry_save_args( $args, $form_data ) {
   
    // Only run on my form with ID = 143, remember to change this to match your form ID
    if( $form_data[ 'id' ] != 143 ) {
        return $args;
    }
   
    $args[ 'user_id' ] = '';
    $args[ 'ip_address' ] = '';
     
    return $args;
  
}
add_filter( 'wpforms_entry_save_args', 'wpf_dev_entry_save_args', 10, 2 );

コードはフォームID143でのみ実行され、エントリが保存される前に実行される際にuser_idip_addressを空にリセットします。

これで、ログイン中のユーザー向けの完全に匿名なフォームができました。

スニペットの143をご自身のフォームIDに合わせて更新することを忘れないでください。フォームIDの見つけ方について支援が必要な場合は、こちらのチュートリアルをご覧ください

これで完了です!WPFormsのエントリでユーザーIDとユーザーIPアドレスの追跡を無効にする方法を学びました。

次に、リッカート尺度にスタイルを追加しますか?リッカート尺度フィールドテーブルのカスタマイズ方法に関する記事をご覧ください。

フィルターリファレンス: wpforms_entry_save_args