From 36d0f0b2ef448395a3875b9849ccf2e9eceee195 Mon Sep 17 00:00:00 2001 From: Viktor Miller Date: Wed, 14 Jan 2026 22:08:44 +0900 Subject: [PATCH] fix(07-01): add JavaScript redirect for registration form - Added add_registration_redirect_script() method - Listens for frmFormComplete event on registration form - Redirects to /anbieter-dashboard/ after 1.5s delay - Shows success message before redirect - Replaces non-working frm_json_response filter approach --- includes/class-formidable.php | 54 +++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/includes/class-formidable.php b/includes/class-formidable.php index ce160f4..d8bf77e 100644 --- a/includes/class-formidable.php +++ b/includes/class-formidable.php @@ -162,8 +162,8 @@ class DDHH_JM_Formidable { // Hook into Formidable form submission add_action( 'frm_after_create_entry', array( __CLASS__, 'handle_registration_submission' ), 30, 2 ); - // Add filter to set redirect URL in form response - add_filter( 'frm_json_response', array( __CLASS__, 'set_registration_redirect' ), 10, 1 ); + // Add JavaScript redirect for registration form + add_action( 'wp_footer', array( __CLASS__, 'add_registration_redirect_script' ) ); // Hook into Formidable form validation for ownership check add_filter( 'frm_validate_entry', array( __CLASS__, 'validate_job_ownership' ), 10, 2 ); @@ -266,33 +266,37 @@ class DDHH_JM_Formidable { } /** - * Set redirect URL in form response for registration form - * - * @param array $response JSON response from form submission. - * @return array Modified response. + * Add JavaScript to redirect after successful registration */ - public static function set_registration_redirect( $response ) { - // Only modify response if there's a form_id in the response - if ( ! isset( $response['form_id'] ) ) { - return $response; + public static function add_registration_redirect_script() { + // Only add on login page + if ( ! is_page( 'anbieter-login' ) ) { + return; } - // Check if this is the registration form - if ( $response['form_id'] != self::get_registration_form_id() ) { - return $response; + $form_id = self::get_registration_form_id(); + $redirect_url = home_url( '/anbieter-dashboard/' ); + + if ( ! $form_id ) { + return; } - - // Only redirect if the submission was successful (no errors) - if ( ! empty( $response['errors'] ) ) { - return $response; - } - - error_log('DDHH Registration: Setting redirect in form response'); - - // Set redirect URL - $response['redirect_url'] = home_url( '/anbieter-dashboard/' ); - - return $response; + ?> + +