WordPress $ _POST变量在表单提交时完全消失

时间:2012-09-05 04:00:32

标签: php forms wordpress post

我在WordPress中创建了一个页面模板,以显示一个带有action =“”的表单。很简单,它不会在提交时发布任何表单数据。我尝试了var_dump($_POST),但它每次只给我array(0) {}。我已经尝试过一些网站提供的用于创建表单的示例,但我无法重现相同的结果。

我已经彻底搜索了这个问题的答案,但似乎没有任何效果。它必须是内部或非常先进的东西。我只是想知道为什么我的表单数据不会发布以及它可能会发布的位置。

1 个答案:

答案 0 :(得分:0)

使用非WP页面检查您的数据,这意味着将一个php文件放在web-root中,并让表单操作指向它,例如... action =“/ formtest.php”,并在该页面上:

<?php 
 var_dump($_POST);
?>

这将测试你确实没有获得POST变量。然后,因为你有99%的人可能会发现他们被发布了,可能的麻烦是你的页面被其他地方提到的主题重定向到某个地方(例如我的主题包括'template_redirect'上的钩子......)。 p>

如果你是精通主题而只是寻找快速修复 - 以牺牲主题升级为代价 - 你可以为 temp.php 页面创建一个例外,但是许多开发人员通过插件处理它,或通过Ajax处理您的表单。许多其他人遇到了同样的问题,因此,要么在插件上添加代码,要么执行页内Ajax(因为无论如何都要提交 SELF )。

This page将为您提供WP Ajax的优势,它是一个声誉良好且写得很好的文档。