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
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; }
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; }
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; }
If you would like to add your own example, click here.
Have something to add?
Click here to provide feedback on this page.