it-swarm.com.de

Ninja Form Redirect abhängig vom Textfeldinhalt

Ich verwende Ninja Forms und ihre Erweiterung, um Front-End-Posts zu erstellen. Sie haben eine Funktion, mit der Sie abhängig von den Werten aus dem Formular zu einer bestimmten Seite umleiten können.

mein Ziel ist es, ein Formular zu haben, in das der Benutzer einen Text schreibt und dann entsprechend dem Test, den er in ein bestimmtes Feld des Formulars schreibt, zu einer benutzerdefinierten URL weitergeleitet wird. So etwas wie "URL"/[der Text, der in das angegebene Feld geschrieben wurde] Ich habe so etwas ausprobiert, aber es funktioniert nicht. Kann mir jemand dabei helfen?

danke im Voraus

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
ctz92

Ich bin mir nicht sicher, ob Sie diese Funktion auf geeignete Maßnahmen festgelegt haben. Außerdem haben Sie die Zeichenfolgen nicht richtig verkettet:

Anstelle von $newdestinationurl = $url/$destinationurlslug ; sollte es $newdestinationurl = $url."/".$destinationurlslug ; sein

Den vollständigen Code finden Sie weiter unten:



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 ); 
    }     
}

Stellen Sie sicher, dass bei Verwendung dieser Methode keine Umleitungsbenachrichtigung erstellt wurde, da diese sonst Vorrang hat. Deaktivieren Sie einfach die "Erfolgsmeldung" von "Emails & Actions" für Ihr Formular.

2
Prasad Nevase