Docs & Support

Learn about all the Formidable features and get support from our amazing customer success team.

frm_redirect_url

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].

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;
}
Was this article helpful? *

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.

In this article

    We have a small, but amazing team of dedicated people who are committed to helping you achieve your goals and project requirements.


    Copyright © 2025 Strategy11, LLC. Formidable Forms® is a registered trademark Strategy11, LLC.

    Complete your purchase
    Special offer unlocked.
    Get 55% OFF!
    Complete Purchase
    Join 400,000+ using Formidable Forms to create form-focused solutions fast. Get Formidable Forms