frm_redirect_url

Back to Top
Knowledge BaseEntry Management → 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);

Parameters

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

Examples

Formidable Hook - Helpful

Basic example

Submitted by  — 7 years ago

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;
}
Formidable Hook - Helpful

More advanced example

Submitted by  — 7 years ago

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;
}
Formidable Hook - Helpful

Change URL when updating

Submitted by  — 7 years ago

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;
}
If you would like to add your own example, click here.

Have something to add?

Click here to provide feedback on this page.