Ich erstelle gerade ein einfaches Kontaktformular, stelle jedoch fest, dass es auf einer ungültigen Seite zu posten scheint. Die URL im Browser ist korrekt, aber der Titel der Seite lautet "Seite nicht gefunden".
oben auf der Seite
$emailed = false;
if (isset($_POST['submit'])) {
wp_mail('[email protected]', $_POST['subject'], $_POST['content']);
$emailed = true;
}
unten ... der HTML:
<form action="<?php the_permalink(); ?>" method="post" id="contactform">
<div class="formelem">
<label for="name">Name</label>
<input type="text" name="name" class="required" />
</div>
<div class="formelem">
<label for="email">Email</label>
<input type="text" name="email" class="required email" />
</div>
<div class="formelem">
<label for="subject">Subject</label>
<input type="text" name="subject" class="required" />
</div>
<div class="formelem">
<label for="content">Content</label>
<textarea name="content" cols="30" rows="10" class="required"></textarea>
</div>
<input type="submit" value="Submit Message" name="submit" value="submit" />
</form>
theme-development
forms
404-error
JM bei der Arbeit
quelle
quelle
Antworten:
Ich könnte mich irren, erinnere mich aber vage daran: Name, E-Mail wird von WordPress entführt, um Kommentare zu posten. Wenn Sie die Formularelemente in Kontaktname und Kontakt-E-Mail umbenannt haben, haben Sie das gleiche Problem?
quelle
Es ist nicht nur
name
oderemail
Problem, als Tom schrieb. Ich hatte sogar ein Problem mit dem Eingabefeld mit dem gleichen Namensattribut wie einer meiner benutzerdefinierten Beitragstypen. Beispielsweise:Und wenn Sie den CPT "Film" an einer anderen Stelle registriert haben, endet das Absenden Ihres Formulars mit einem 404-Fehler.
Fazit: Verwenden Sie nicht
name
,email
undany registered custom post type handle
als Eingabename Attributwert in Ihren Formularen.quelle
Versuchen Sie,
name="email"
etwas zu ändernname="my_theme_email"
, machen Sie dasselbe mit Ihrem ganzen Feld, es klingt, als ob ein Name bei WordPress reserviert ist, wenn Sie Formulardaten senden. Ich habe das gleiche Problem und ich habe es so behoben.quelle
Es funktioniert bei mir, nur deine geändert
Es wird klappen. Vielen Dank.
quelle