我在 WordPress 中创建了一个页面模板来显示带有 action="" 的表单。很简单,它不会在提交时发布任何表单数据。我试过var_dump($_POST)
了,但它array(0) {}
每次都给我。我尝试了一些网站提供的用于创建表单的示例,但我无法重现相同的结果。
我已经彻底寻找这个问题的答案,但似乎没有任何效果。它必须是内部的或非常先进的东西。我只想知道为什么我的表单数据不会发布以及它可能会去哪里。
使用非 WP 页面检查您的数据,这意味着将 php 文件放在 web-root 中,并让表单操作指向它,例如 ...action="/formtest.php",然后在该页面上:
<?php
var_dump($_POST);
?>
这将测试您是否真的没有得到 POST 变量。然后,由于您有 99% 的可能会发现它们正在被发布,因此可能的问题是您的页面正被其他地方提到的主题重定向到某个地方(例如,我的主题包括一个关于 'template_redirect' 的钩子......)。
如果您精通主题并且只是在寻找快速修复 - 以在主题升级时丢失它为代价 - 您可以仅为您的temp.php页面创建一个异常,但许多开发人员处理它的方式是通过插件,或处理您通过 Ajax 的表单。许多其他人也遇到过同样的问题,因此,要么将代码添加到插件中,要么执行页面内 Ajax(因为无论如何您都提交给SELF ......)。
此页面将为您提供有关 WP Ajax 的帮助,它是一个信誉良好且编写良好的文档。