Benutzerdefiniertes Formular, Shortcode und Submit-Handler

Ich habe ein Frontend-Formular mit einer Menge Eingaben. Meine Anforderungen zwingen mich, einen benutzerdefinierten Shortcode zu verwenden, um das Formular zu erstellen. Ich habe bereits eine Seite mit diesem Shortcode getestet.

Hier ist meins :

<form name="myform" method="post" action="" enctype="multipart/form-data"> 

Auf dieser Grundlage sollte es die gleiche Seite öffnen (und es tat). Wenn ich jedoch auf “Senden” klicke, habe ich 404 an derselben URL erhalten. Gibt es eine Lösung?

UPDATE # 1

Ich versuche eine andere Route mit add_action (‘init’):

 add_action('init', 'mbro1_intercept_form_input'); function mbro1_intercept_form_input() { if( !(isset($_POST['action_code']) && $_POST['action_code'] == 'mbro_intercept_form_input') ) return ""; if( isset( $_POST['submit'] ) ) { //do my code here wp_redirect( get_permalink(35) );//page that has [shortcode] } } 

Dies führt meine beabsichtigte Aktion erfolgreich zum Senden aus. Aber! Bei der Weiterleitung hat es immer noch 404. Ich weiß nicht, was falsch ist.

Solutions Collecting From Web of "Benutzerdefiniertes Formular, Shortcode und Submit-Handler"

Hat Ihr Formular eine Eingabe mit dem Namen “name”? Beispielsweise:

  

Wenn ja, wird das Probleme verursachen. Ändern Sie den Namen Wert.

Siehe auch: Formular ‘Name’ bricht ab und geht zur 404-Seite .

Ich nehme an, dass die Linie am Ende steht

wp_redirect( get_permalink(35) );//page that has form

ist was scheitert. Ich würde das ändern

 https://wordpress.stackexchange.com/questions/15790/custom-form-shortcode-and-submit-handler/$redirect_link = get_permalink(35) ; //page that has form wp_redirect( https://wordpress.stackexchange.com/questions/15790/custom-form-shortcode-and-submit-handler/$redirect_link ); // trigger redirect exit; 

Das sollte dazu führen, dass es ordnungsgemäß funktioniert

Ich nehme die() als Lösung. Obwohl ich das nicht bevorzuge.

 https://wordpress.stackexchange.com/questions/15790/custom-form-shortcode-and-submit-handler/$redirect_link = get_permalink(35) ; //page that has form $script_redirect = "
Your form is submitted. Please wait a moment. If your browser didn't redirect, click here.
"; die( $script_redirect );