Eu posso estar errado, mas eu lembro vagamente que: nome, e-mail são sequestrados pelo WordPress para postar comentários, se você renomeou os elementos de formulário como nome de contato e e-mail de contato, você recebe o mesmo problema? / p>
Estou apenas criando um formulário de contato simples, mas percebo que ele parece postar em uma página inválida. A URL no navegador está correta, mas o título da página é "Página não encontrada"
no topo da página
$emailed = false;
if (isset($_POST['submit'])) {
wp_mail('example@example.com', $_POST['subject'], $_POST['content']);
$emailed = true;
}
abaixo ... o 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>
Eu posso estar errado, mas eu lembro vagamente que: nome, e-mail são sequestrados pelo WordPress para postar comentários, se você renomeou os elementos de formulário como nome de contato e e-mail de contato, você recebe o mesmo problema? / p>
Não é só o problema name
ou email
, como o Tom escreveu. Eu tive problema mesmo com campo de entrada com atributo de nome mesmo como um dos meus tipos de postagem personalizada. Por exemplo:
...
<input type="text" name="movie">
...
E quando tiver registrado o "filme" do CPT em outro lugar, o envio do formulário terminará com o erro 404.
Conclusão: não use name
, email
e any registered custom post type handle
como valor de atributo de nome de entrada em seus formulários.
Tente alterar name="email"
para algo como name="my_theme_email"
, faça o mesmo com todo o seu campo, parece que algum nome é reservado com o WordPress ao enviar dados de formulário. Eu peguei o mesmo problema e consertei assim.