根据文本字段内容的忍者表单重定向

时间:2015-09-13 作者:ctz92

我正在使用忍者表单及其扩展来做前端帖子。它们有一个函数,允许您根据表单中的值重定向到特定页面。

我的目的是创建一个表单,用户在其中编写文本,然后根据他在表单给定字段中编写的测试重定向到自定义url。所以类似于“URL”/[在给定字段中写入的文本]的内容,我尝试过类似的方法,但不起作用。有人能帮我吗?

提前谢谢你

function change_ninja_forms_landing_page(){
global $ninja_forms_processing; 

$form_id = $ninja_forms_processing->get_form_ID(); 

if( $form_id == 1 ){ 
    $destinationurlslug = $ninja_forms_processing->get_field_value( 1 ); 
    $url = "http://www.blablabla.com";
    $newdestinationurl = $url/$destinationurlslug ;

    // $url now contains our new redirection page. Let\'s update the form setting.
    $ninja_forms_processing->update_form_setting( \'landing_page\', $newdestinationurl ); } } ?>

1 个回复
最合适的回答,由SO网友:Prasad Nevase 整理而成

我不确定您是否已将此函数连接到适当的操作。此外,您还没有正确连接字符串:

而不是$newdestinationurl = $url/$destinationurlslug ; 应该是这样的$newdestinationurl = $url."/".$destinationurlslug ;

完整代码请参见以下内容:



function ninja_forms_handler() {
  add_action ( \'ninja_forms_post_process\', \'change_ninja_forms_landing_page\', 1, 2 );
}
add_action(\'init\', \'ninja_forms_handler\');

function change_ninja_forms_landing_page(){
    global $ninja_forms_processing; 

    $form_id = $ninja_forms_processing->get_form_ID(); 

        if( $form_id == 1 ){ 
        $destinationurlslug = $ninja_forms_processing->get_field_value( 1 );         
        $url = "http://www.blablabla.com";
        $newdestinationurl = $url."/".$destinationurlslug ;        
        /* $url now contains our new redirection page. Let\'s update the form setting. */
        $ninja_forms_processing->update_form_setting( \'landing_page\', $newdestinationurl ); 
    }     
}

如果使用此方法,请确保未创建实际的重定向通知,否则它将优先。So simply deactivate the "Success Message" from "Emails & Actions" tab for your form.

相关推荐

WP_REDIRECT导致无限循环

Goal: 我修改了permalink,以显示特定类别的类别名称:grill rezepte。默认情况下,永久链接为:https://website.com/post-title 现在只有烧烤餐厅:https://website.com/grill-rezepte/post-title因此,我想在所有grill Recipes上设置301重定向,以便它们移动到新的URL。我有下面的代码(见下文),它会导致一个无限循环。Code:add_action(\'template_redirect\', \'pos