私はWordpressのテーマでカスタムフォーム用のphp mail()関数を開発しました。これは、それ自体に送信される通常のフォーム(空のaction
属性を持つ)です。 functions.phpには、inc\mail.php
が含まれています。これは、POSTデータが存在するかどうかをチェックし、存在する場合は、その関数を実行します。最後に、関数はPHPのmail()
を介して電子メールを送信し、trueを返します。なぜWordpressはPOSTフォームで404エラーを投げますか?別のテンプレートではなく、あるテンプレートで送信しますか?
これは、カスタム投稿タイプ(「投稿」や「ページ」ではなく)を持つ1つの投稿に対しては完全に機能しますが、通常のWordpressの「ページ」で同じスクリプトを使用しようとすると、よく(と電子メールを送信する)、しかしそれは404エラーをスローします。ブラウザのアドレスバーのURLは変更されていません(ページの固定リンクが表示されます)が、ページが見つからないようです。
次に、ブラウザのアドレスバーをクリックしてEnterキーを押してページをリフレッシュすると(POSTデータをもう一度送信しないで)、は再び通常のページを表示します。
私は困惑しています。それはなぜでしょうか?
編集:ここに解決策が見つかりました:https://wordpress.stackexchange.com/questions/11749/why-when-i-submit-a-form-in-wordpress-it-loads-a-404-page-though-url-is-correct @DigitalDesignDjの提案に感謝します。
おかげで尋ねるより良い運を持っているかもしれない - それは良い推測ですが、私が最初に同じことを思ったが、機能は何も出力していない、それが唯一の変数を埋めるだ...そう私はそれがヘッダーの問題だとは思わない。私はWordPressのフォーラムにも良いショットを与えるだろう:)ありがとう! – bobsoap
DigitalDesignDj、あなたは正しいです。 Wordpress.stackには既に答えがありました:http://wordpress.stackexchange.com/questions/11749/why-when-i-submit-a-form-in-wordpress-it-loads-a-404-page-though- url-is-correct - あなたの答えを正しいものとしてマークします。再度、感謝します! – bobsoap