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

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

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

本当に匿名フォームを提供したいのであれば、この情報は保存してはいけません。PHP のカスタムフィルタを使えば、これらの情報を保存しないようにすることができます。

このチュートリアルでは、ログインユーザー用の匿名フォームを作成する各ステップを説明します。


フォームの作成

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

アンケートフォームの作成から始めましょう。匿名性を保つには、名前または電子メールのフォームフィールドを省略します。

注:100%匿名性を保つために、フォームから名前とEメールのフィールドを省くことを忘れないでください。

ログインしたユーザーに対して匿名フォームを保持する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_idと ip_addressを空にリセットします。

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

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

以上です!これでWPFormsのエントリーでユーザーIDとユーザーIPアドレスのトラッキングを無効にする方法を学びました。

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

フィルタ参照:wpforms_entry_save_args