为什么Wordpress会在一个模板中的POST表单上提交404错误,而在另一个模板中却没有?

时间:2012-03-05 23:26:14

标签: wordpress php

我为Wordpress主题中的自定义表单开发了一个php mail()函数。它只是一个提交给自己的普通表单(具有空action属性)。在functions.php中,我包括inc\mail.php,它检查是否存在POST数据,如果存在,则运行该函数。最后,该函数通过php的mail()发送电子邮件并返回true。

这适用于具有自定义帖子类型(不是“帖子”或“页面”)的单个帖子,但是当我尝试在普通的Wordpress“页面”上使用相同的脚本时,它也运行该功能(并发送电子邮件),但它会抛出404错误。浏览器地址栏中的URL未更改(显示页面的固定链接),但似乎找不到页面

然后,如果我刷新页面(不再发送POST数据),即点击浏览器地址栏并按Enter键,会像往常一样再次显示正确的页面。

我很难过。为什么会这样做?

编辑:在这里找到解决方案:https://wordpress.stackexchange.com/questions/11749/why-when-i-submit-a-form-in-wordpress-it-loads-a-404-page-though-url-is-correct感谢@ DigitalDesignDj的建议,看看那里。

1 个答案:

答案 0 :(得分:1)

听起来您的功能正在返回页面上显示的值,但仅在成功发送电子邮件时才会显示。你需要抑制函数的输出,因为我猜它发生在wp_head之上并且干扰了启动模板处理的调用。

这是一个猜测,但是去寻找那个输出,这是我能想到的全部。

你可能会在https://wordpress.stackexchange.com/

问好运