2017-08-03 1 views
1

meine app Thema Struktur So istWie man Form in eine andere PHP-Datei in WordPress einträgt?

-wp-content 
    -themes 
    -cool 
    -templates 
    -landing.php 
    - post-landing.php 

ich ein Formular in landing.php haben und ich möchte POST-Anfrage in post-landing.php, für die ich habe,

form action="wp-content/themes/cool/templates/post-landing.php" 

Aber wenn zu handhaben Ich mache eine Post-Anfrage sagt 404.

Antwort

0

Sie können nicht die PHP-Dateien in WP Themen direkt aufrufen (und sollten nicht). Eine Möglichkeit dies zu tun, ist landing.php und post-landing.php als wp_template Dateien zu erstellen. Dann erstellen Sie Pages mit diesen Vorlagen aus dem WP-Admin. Und dann landing.php verwenden Sie den Link der Seiten, die mit dieser Vorlage post-landing.php als Aktion für das Formular erstellt werden.

0

Hier ist eine andere Art und Weise: Falls Sie asynchron, dass verwalten möchten, können Sie einen AJAX-Aufruf wie folgt erstellen (ich es in der Regel in meinem <theme>/inc Ordner speichern, so dass es automatisch geladen wird):

add_action('wp_ajax_nopriv_<call_name>', '<function name>'); 
add_action('wp_ajax_<call_name>', '<function name>'); 

function <function_name>() {//here you do things with $_POST and return json} 

es Localize in Ihrer functions.php-Datei, um Ihre ajaxUrl für die Anforderung immer in einer variablen haben und nur für Ihre js-Datei:

wp_localize_script('enqueued-js-name', 'varName', array(
    'ajaxUrl' => admin_url('admin-ajax.php') 
)); 

und dann kann man es so in Ihrer Warteschlange gestellt JS-Datei aufrufen:

jQuery.ajax({ 
    url: varName.ajaxUrl, 
    type: 'post', 
    data: currentDataToSubmit, 
    success: function(response){ 
     //manage the response 
    } 
}); 

Und das war's! hoffe, es war nützlich!

Wenn etwas mit dem ersten Teil nicht stimmt, lass es mich wissen, damit ich auch lernen kann!

+0

Ich versuche den einfacheren Weg zuerst, also habe ich Das gibt die richtige URL aber immer noch 404. Hat das mit der Erlaubnis zu tun? – user3840211

+0

Ich habe einen Check gemacht, ich erinnerte mich unrichtig daran, dass ich es einmal gemacht habe, aber alle Schritte wurden von derselben Seite verwaltet. Es scheint, als hätte Amit vollkommen Recht. Ich werde versuchen zu verstehen, was mit dieser Methode technisch falsch ist, aber das könnte auch Ursache für die htaccess-Regeln von Wordpress sein! Für jetzt haben Sie "meinen" Weg oder Amit's. Ich entschuldige mich! – riot

Verwandte Themen