我创建了一个模板页面,其中有一个表单,在测试时出现了404错误。我应该采取其他行动吗?
`<form action="results.php" method="post">
<!--my code-->
</form>`
我创建了一个模板页面,其中有一个表单,在测试时出现了404错误。我应该采取其他行动吗?
`<form action="results.php" method="post">
<!--my code-->
</form>`
我在做其他事情?
对文件的完整路径。如果您的网站http://mysite.com
您在主页上,然后您在以下位置请求文件:http://mysite.com/result.php
. 如果您使用的是日期存档,您将在以下位置请求文件:http://mysite.com/2013/03/03/result.php
. 您想要的文件实际上位于http://mysite.com/wp-content/themes/theme-name/result.php
. 看到问题了吗?
Relative URLs do not work well in a WordPress context.
但我想说的是,即使要构建模板文件的完整URL,您仍然做错了。如果加载这样的文件,则不会加载任何WordPress核心,并且会出现未定义的函数错误。
在我看来,正确的方法是。。。
将请求发送到包含表单的同一模板文件。
<form action="<?php the_permalink(); ?>" method="post">
该特定代码仅在某些情况下有效,因此您可能需要使用site_url()
, 例如通常可以省略action属性(正如Milo所提示的那样)。您还可以将函数挂接到template_redirect
或wp_head
然后在那个钩子上处理表单如果表单出现在多个页面上,则需要选项2或3中的一个。否则,请使用第一个选项。
如果需要表单显示在一个页面上,结果显示在另一个页面上,则需要为每个组件提供自定义页面模板,并且需要create a page for the form and another for the results via the "Pages" section of the WordPress backend.
我注意到任何不是联系人表单7内置短代码一部分的短代码都不起作用。例如:我试图在contact form 7中的表单元素之间使用手风琴快捷码。但是代码不起作用。如何在不编辑联系人表单7核心文件的情况下解决此问题?