フォームアクションのカスタマイズ方法

WPFormsのフォームアクションをカスタマイズする必要がありますか?WPFormsを外部ソースと統合していて、送信時のアクションをカスタマイズして別のページソースに移動させる必要がありますか?このチュートリアルでは、PHPを使ってフォームアクションをカスタマイズし、ページを特定のURLにリダイレクトする方法を紹介します。

デフォルトでは、スニペットを使用せずに、確認タブの確認タイプをリダイレクトに設定することで、フォームビルダー内でフォームのアクションを変更することができます。詳しくはこちらのドキュメントをご覧ください

フォームの作成

まず、フォームを作成し、フィールドを追加する必要があります。

これに関してサポートが必要な場合は、こちらのドキュメントをご覧ください

このスニペットを使用する場合、「確認」タブで設定した内容は適用されないことに注意してください。

フォームアクションをカスタマイズするためにこのスニペットを使用すると、[確認]タブにある設定はすべて無視されます。

フォームのAJAXを無効にする

次のステップに進む前に、設定 " 一般 " 詳細設定に移動し、あなたのフォームでAJAXフォーム送信を有効にする設定がオフになっていることを確認してください。

フォームアクションのカスタマイズ

フォームアクションを使ってページを特定のURLにリダイレクトするには、このスニペットをサイトにコピーする必要があります。

スニペットの追加にヘルプが必要な場合は、こちらのチュートリアルをご覧ください

/*
 * Return a specific URL on the form submission.
 *
 * @link https://wpforms.com/developers/how-to-customize-the-form-action/
*/

function wpf_custom_form_action( $action, $form_data ) {
    
    if ( $form_data[ 'id' ] == '25' ) {

        return 'https://www.somesite.com';

    }

    return $action;
}

add_filter( 'wpforms_frontend_form_action', 'wpf_custom_form_action', 10, 2 );

このスニペットはフォームID25でのみ実行されます。このIDをあなたのフォームのフォームIDに合わせて更新する必要があります。フォームIDを探すのに助けが必要な場合は、こちらのチュートリアルをご覧ください

フォームIDを定義したら、https://www.somesite.com、リダイレクトしたいURLに合わせてURLを更新するだけです。

リダイレクトURLを設置した場合、フォームエントリーはWPFormsエントリーに保存されませんのでご注意ください。

PHPを使って送信時にリダイレクトするフォームアクションをカスタマイズするために必要なことは以上です。チェックボックスフィールドにすべてを選択するオプションを追加したいですか? チェックボックスのフォームフィールドに全選択オプションを追加する方法をご覧ください。

リファレンス・フィルター

フィルター・リファレンス:wpforms_frontend_form_action