Por qué cuando envío un formulario en wordpress, carga una página 404 aunque la URL es correcta

16

Estoy creando un formulario de contacto simple, pero me doy cuenta de que parece que se publica en una página no válida. La url en el navegador es correcta, pero el título de la página es "Página no encontrada"

en la parte superior de la página

$emailed = false;
if (isset($_POST['submit'])) {
    wp_mail('example@example.com', $_POST['subject'], $_POST['content']);
    $emailed = true;
}

abajo ... el 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>
    
pregunta JM at Work 11.03.2011 - 09:06

3 respuestas

36

Podría estar equivocado, pero recuerdo vagamente que: nombre, correo electrónico secuestrado por WordPress para hacer comentarios, si cambió el nombre de los elementos del formulario como nombre de contacto y correo electrónico de contacto, ¿tiene el mismo problema?

    
respondido por el Tom 11.03.2011 - 12:09
3

No es solo el problema name o email , como escribió Tom. Tuve un problema incluso con el campo de entrada con el atributo de nombre igual que uno de mis tipos de publicaciones personalizadas. Por ejemplo:

...
<input type="text" name="movie">
...

Y cuando se haya registrado una "película" de CPT en otro lugar, el envío del formulario finalizará con un error 404.

Conclusión: No use name , email y any registered custom post type handle como valor de atributo de nombre de entrada en sus formularios.

    
respondido por el Marek 05.11.2014 - 13:32
1

Intente cambiar name="email" a algo como name="my_theme_email" , haga lo mismo con todo su campo, parece que algún nombre está reservado con WordPress al enviar datos de formulario. Tengo el mismo problema y lo arreglé así.

    
respondido por el Thierry Edou 29.11.2016 - 09:26

Lea otras preguntas en las etiquetas