您永远不会创建create-form.php
, 这样做会带来安全问题。
例如,假设您的客户更改了主题,此联系人表单仍然有效。即使主题已停用。对于直接访问主题或插件内PHP文件的远程服务,任何表单处理程序、AJAX处理程序或端点也是如此。
WordPress是一个CMS,它应该处理对它的所有请求,而不是插件或主题中的单个文件
相反,不要在表单上指定操作,包括要检查的隐藏输入,然后查找该输入以处理表单输入,例如:
// Template
<form method="POST">
<input type="hidden" name="aviras_contact_form" value="contact_form">
....
</form>
// functions.php
add_action( \'init\', function() {
if ( empty( $_POST[\'aviras_contact_form\'] ) ) {
return;
}
// handle form submission
}
对于AJAX,使用
register_rest_route
(考虑提出一个关于如何做到这一点的新问题)。对于第三方调用或处理程序,请使用重写规则或检查参数
此外,缩进您的代码,现在所有主要流行的编辑器都为您自动缩进,并且有自动重新缩进和美化的包(PHPStorm、Netbeans、Sublime Text、Coda等)