我为客户端安装了多站点Wordpress,对于其中一个表单,我需要进行一些手动数据库交互,因为该功能是独立的。
然而,我遇到的问题是,根据日志,我上传到网站上任何地方的任何简单PHP脚本都会抛出“在头之前输出脚本结束”错误。
该脚本实际上只回显“hello world”,权限设置为755。
这个问题是否与Wordpress有关?否则,整个网站都可以正常工作。至少可以这么说,这很令人困惑
我是否需要在开头的文件中包含特定于Wordpress的内容?
没有可共享的代码-有一个html表单:
<form action="<?php bloginfo(\'template_directory\') ?>/add-calories.php" method="get" id="add-calories">
<input class="required" type="text" name="item" placeholder="Food or Drink">
<input class="required" type="number" name="calories" placeholder="Calories">
<input class="required" type="time" name="time" placeholder="Time">
<input class="required" type="date" name="date" placeholder="Date">
<button type="submit">Add to diary<i class="fa fa-chevron-right"></i></button>
</form>
最初,此表单指向的php脚本回显了$\\u POST变量,但目前它只是读取:
<?php
echo "hello world!";
?>
我已尝试检查发送的邮件头
headers_sent()
, 但这似乎也没什么帮助。。。
SO网友:bravokeyl
不知道使用自定义脚本究竟要完成什么。您可以使用短代码、页面模板和插件以WP的方式有效地做到这一点。
如果您不想这样做,只想将脚本放在活动主题库目录中。我建议的一种方法是:
假设我们有两个php文件aform.php
(实际表单页)和add-calories.php
(Form action page)在active theme base目录中。
您可以将其重命名为page-aform.php
和page-add-calories.php
并创建两个名称相同的页面aform
和add-calories
. 然后这些脚本可以在http://example.com/aform
和http://example.com/add-calories
(请确保将表单操作更改为req url)。
您可以查看有关模板层次结构的更多信息here.无论我们在主题目录中放置什么,都会经历这个循环。
如果你不想那样做http://example.com/aform.php
然后将php脚本文件放在WP安装的根目录中(记住,如果这样做,您将无法访问WP函数)