Formidable Forms

Formidable Forms

  • Features
  • Templates
  • Pricing
  • Resources
    • Docs & Support
    • Blog
    • Community
  • Solutions
    • Web Applications
    • Calculators
    • Surveys
    • Directories
    • Payments
    • Contact forms
  • Login
  • Get Formidable Forms

frm_redirect_url

Knowledge Base → Extend Formidable Forms → Formidable Hooks - for Developers → Entry Management → frm_redirect_url
Heads up!
This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.

Dynamically change the URL users are redirected to if more control is needed than the basic conditional statements allow, i.e. http://[if 25 equals="Option 1"]site-a.com[/if 25][if 25 equals="Option 2"]site-b.com[/if 25][if 25 equals="Option 3"]site-c.com[/if 25].

Get Better Forms FREE!
 

Usage

add_filter('frm_redirect_url', 'return_page', 9, 3);
function return_page($url, $form, $params)

Parameters

  • $url (string)
  • $form (object)
  • $params (array that includes $param['action'] for update vs create differentiation)

Examples

Basic example

add_filter('frm_redirect_url', 'return_page', 9, 3);
function return_page($url, $form, $params){
  if($form->id == 5){ //change 5 to the ID of the form to redirect
    $field_id = 125; //change 125 the the ID of the radio or dropdown field
    if($_POST['item_meta'][$field_id] == 'Option 1') {
      $url = 'http://example.com/redirect-here';
    } else if($_POST['item_meta'][$field_id] == 'Option 2') {
      $url = 'http://example.com/redirect-here';
    } else {
      $url = 'http://example.com/redirect-here'; //if neither Option 1 or Option2 are selected, redirect to this URL
    }
  }
  return $url;
}

More advanced example

add_filter('frm_redirect_url', 'return_page', 9, 3);
function return_page($url, $form, $params){
  if($form->id == 5){ //change 5 to the ID of the form to redirect
    $field_id = 25; //change 25 the the ID of the radio or dropdown field
    if($_POST['item_meta'][$field_id] == 'A'){ 
      if($_POST['item_meta'][26] == 'Option 1'){ //change 26 to the id of second field
        $url = 'http://example.com/redirect-here';
      }else if($_POST['item_meta'][26] == 'Option 2'){
        $url = 'http://example.com/redirect-here';
      }else{
        $url = 'http://example.com/redirect-here';
      }
    }else if($_POST['item_meta'][$field_id] == 'B'){
      $url = 'http://example.com/redirect-here';
    }else if($_POST['item_meta'][$field_id] == 'C'){
      $url = 'http://example.com/redirect-here';
    }
  }
  return $url;
}

Change URL when updating

Use this code to change the redirect URL when an entry is being updated.

add_filter('frm_redirect_url', 'return_page', 9, 3);
function return_page($url, $form, $params){
  if(!isset($params['action'])){
    $params['action'] = FrmAppHelper::get_param('frm_action');
  }
  if($form->id == 5 and $params['action'] == 'update'){ //change 5 to the id of your form
    $url = 'http://example.com/redirect-page';
  }
  return $url;
}

Allow brackets in redirect URL

Some applications need to pass parameters like [6] in redirect URLs. This code example allows you to add brackets in your redirect URL.

add_filter( 'frm_redirect_url', 'partial_prepare_redirect_url', 1 );
function partial_prepare_redirect_url( $url ) {
remove_filter( 'frm_redirect_url', 'FrmEntriesController::prepare_redirect_url' );
      return str_replace( array( ' ', '|', '@' ), array( '%20', '%7C', '%40' ), $url );
  }

Allow ampersands in redirect URL

Use this code snippet to support ampersands from user input inside in your redirect URL.

add_filter( 'frm_redirect_url', 'replace_encoded_ampersand', 10, 2 );
function replace_encoded_ampersand( $url, $form ) {
	$target_form_id = 727; // Change 727 to your form ID.
	if ( $target_form_id === (int) $form->id ) {
		$url = str_replace( '&', '&', $url );
	}
	return $url;
}
  • Usage
  • Parameters
  • Examples
    • Basic example
    • More advanced example
    • Change URL when updating
    • Allow brackets in redirect URL
    • Allow ampersands in redirect URL
Categories
×

Categories

  • Installation & Getting Started
  • Account Management
  • Forms
  • Entries
  • Views
  • Styles
  • Importing & Exporting
  • Add-Ons
  • Extend Formidable Forms

Using WordPress and want to get Formidable Forms for free?

Get Formidable Forms Lite Now

Submit doc feedback
Was this article helpful? *
What did you find most unhelpful? *
If you need help from our support team, please create a ticket at our helpdesk.

This article may contain affiliate links. Once in a while, we earn commissions from those links. But we only recommend products we like, with or without commissions.

Take on bigger projects Right Now

Get the tools you need to revolutionize your workflow and architect a masterpiece. Build the most advanced WordPress forms and actually use the data you collect in meaningful ways.

Get the most advanced WordPress form plugin and the only form builder with integrated Views.

Get Formidable Forms Now

Resources

  • Community
  • Affiliates
  • Contact
  • Free Online Form Builder

Top Features

  • Application Builder
  • Calculator Plugin
  • Surveys & Polls
  • Quiz Maker
  • Form Templates
  • Application Templates
  • Directory Plugin
  • Donation Plugin

Company

  • About Us
  • Giving Back
  • Careers
  • Newsletter
  • WP Tasty
  • Nutrifox

Copyright © 2023 Strategy11, LLC. Formidable Forms® is a registered trademark Strategy11, LLC.
Privacy Policy | Terms of Service | Sitemap

Join 300,000+ using Formidable Forms to create form-focused solutions fast. Get Started See User Reviews