首先,我要说的是,我对主题开发还不熟悉,我希望没有什么明显的遗漏。
我在找这张表格
contactform.php
<form method="POST" action="">
<input type="text" name="contact_name" placeholder="Name" class="form-control" required>
<input type="email" name="contact_email" placeholder="E-Mail" class="form-control" required>
<textarea name="contact_message" placeholder="Message" rows="4" class= "form-control" required></textarea>
<button type="submit" class="btn btn-secondary">Send</button>
</form>
<?php
//process request...
//redirect to previous page
global $wp;
wp_redirect(home_url($wp->request));
exit;
?>
进入页脚,如下所示:
footer.php
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-sm">
Stuff
</div>
<div class="col-sm">
Stuff
</div>
<div class="col-sm">
<!-- form goes here -->
<?php get_template_part( \'contactform\'); ?>
</div>
</div>
<div class="row">
<div class="col-sm">More stuff</div>
<div class="col-sm">More stuff</div>
<div class="col-sm">More stuff</div>
</div>
</div>
<?php wp_footer(); ?>
</footer>
问题是,缺少第二行。它不在DOM中。但当我将表单硬编码到页脚中时,效果很好。所以我认为get\\u template\\u part函数有问题。
最合适的回答,由SO网友:phatskat 整理而成
看起来像是contactform.php
可能会导致问题。
具体而言,这些行:
global $wp;
wp_redirect(home_url($wp->request));
exit;
The
exit
语句可能正在停止执行脚本的其余部分。如果要处理表单数据,应该检查并处理表单数据,而不是在包含部件时仅运行重定向和退出语句。