让我们先尝试一种没有插件的轻量级方法。在页面模板中,例如。page-pickup.php
(使用“pickup”作为页面标记),您可以像往常一样创建HTML表单。
您可以离开action
属性<form>
空的这样,表格将提交到同一页。此外,使用表单名称创建隐藏输入将有助于确定表单是否已提交。
在同一文件的顶部,检查表单是否已提交。然后执行通常的表单数据清理和验证,并在之后采取适当的操作:显示错误或保存/发送数据。
下面是一个简单的示例:
<?php
if (isset($_POST[\'pickup-form\']))
{
// Clean POST data
$demo_input = (isset($_POST[\'demo-input\'])) ? trim((string) $_POST[\'demo-input\']) : \'\';
// Validate POST data
if (\'\' === $demo_input)
{
$errors[\'demo_input\'] = __(\'Demo field is required\');
}
// No errors
if (empty($errors))
{
// Save POST data to database, send some e-mails, etc.
$success = TRUE;
}
}
?>
<?php if ( ! empty($success)) { ?>
<p>Thank you!</p>
<?php } else { ?>
<?php if ( ! empty($errors)) { ?>
<?php print_r($errors) ?>
<?php } ?>
<form method="post" action="">
<input type="hidden" name="pickup-form">
<input type="text" name="demo-input" value="<?php if (isset($demo_input)) { echo esc_attr($demo_input); } ?>">
<input type="submit">
</form>
<?php } ?>