워드 프레스로 양식을 제출하면 URL이 정확하지만 404 페이지가로드되는 이유


23

간단한 연락처 양식을 만드는 중이지만 잘못된 페이지에 게시되는 것 같습니다. 브라우저의 URL이 정확하지만 페이지 제목이 "페이지를 찾을 수 없습니다"

페이지 상단에

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

아래 ... 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>

2
페이지가있는 URL은 무엇입니까?
MikeSchinkel

WooCommerce 구독을 사용하고 "구독"이라는 입력 필드가있는 경우에도 동일한 문제가 나타납니다. 무슨 일이 일어나고 있는지 알아내는 데 꽤 오랜 시간이 걸렸 으며이 게시물 덕분에 문제를 해결할 수있었습니다. WooCommerce Subscriptions를 사용하고 비슷한 문제가있는 사람이 도움이되기를 바랍니다.
Whiplash

답변:


49

나는 틀릴 수 있지만 모호하게 기억합니다. 이름, 전자 메일이 WordPress에 의해 납치되어 의견을 게시합니다. 양식 요소의 이름을 contact-name 및 contact-email로 바꾸면 같은 문제가 있습니까?


1
예, 이름 필드입니다. 대신 jm_name과 같은 네임 스페이스입니다.
Backie

고마워 톰! WP는 실제로 양식을 가로 채고있었습니다. 이상하다.
Svetoslav Marinov 2011

도움이되는 경우 AngularJS에서도 마찬가지입니다. ;)
Mark

나는이 문제에 직면했다.이 대답은 나를 올바른 길로 인도했다. 이름이나 이메일이있는 필드가 없지만 입력 이름 중 하나가 사용자 정의 게시물 유형 (cpt)과 같으므로 wp 쿼리 및 404를 트리거했습니다. 따라서 필드 이름을 cpt와 다르게 변경하여 수정했습니다. 발행물.
Mohsin

4

그것은 더에만 없습니다 name 또는 email톰이 쓴, 문제. 사용자 정의 게시물 유형 중 하나와 동일한 이름 속성을 가진 입력 필드에도 문제가있었습니다. 예를 들면 다음과 같습니다.

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

그리고 다른 곳에 CPT "movie"를 등록하면 양식 제출이 404 오류로 종료됩니다.

결론 : 음주 사용하지 name, email그리고 any registered custom post type handle양식에 입력 name 속성 값으로.


글쎄, 더 정확한 정보로 원래의 질문에 대답하려고했습니다. 음, 아마도 ... :-) 약간의 편집 추가.
Marek

1

변경하려고 name="email"뭔가에 name="my_theme_email"양식 데이터를 보낼 때 일부 이름은 워드 프레스로 예약되어처럼 소리 모든 필드와 동일한 작업을 수행. 나는 같은 문제가있어서 그렇게 고쳤다.


0

그것은 나에게 효과가 있습니다.

input type name, email, subject, and content to any name as names, emails, subjects, contents.

작동합니다. 감사.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.