0

action="" を含むフォームを表示するために、WordPress でページ テンプレートを作成しました。簡単に言えば、送信時にフォームデータを投稿しません。私は試しましたが、毎回私にvar_dump($_POST)与えてくれます。array(0) {}フォームを作成するためにいくつかの Web サイトで提供されている例を試しましたが、同じ結果を再現できません。

この問題に対する答えを徹底的に探しましたが、何もうまくいかないようです。それは内部的なものか、非常に高度なものでなければなりません。フォーム データが投稿されない理由と、どこに送信される可能性があるかを知りたいだけです。

4

1 に答える 1

0

WP 以外のページを使用してデータを確認します。つまり、php ファイルを web-root に配置し、...action="/formtest.php" などのフォーム アクションがそれを指すようにし、そのページで:

<?php 
 var_dump($_POST);
?>

これは、本当にPOST 変数を取得していないかどうかをテストします。次に、投稿されている可能性が 99% あるため、他の場所で述べたように、ページがテーマによってどこかにリダイレクトされている可能性があります (たとえば、私のテーマには「template_redirect」のフックが含まれています...)。

あなたがテーマに精通していて、テーマのアップグレードでそれを失うことを犠牲にして、簡単な修正を探しているだけの場合は、temp.phpページのためだけに例外を作成できますが、多くの開発者がそれを処理する方法は、プラグインまたはハンドルを使用することです。あなたのフォームをAjax経由で。他の多くの人がこの同じ問題に遭遇したため、コードをプラグインに追加するか、ページ内 Ajax を実行します (とにかくSELFに送信しているため...)。

このページでは WP Ajax について説明します。これは評判が良く、よく書かれたドキュメントです。

于 2015-12-30T03:16:06.780 に答える