使用WordPress构建表单,并将该数据提取到用户页面

时间:2012-01-24 作者:Anders Kitson

我将给出我想要实现的最基本的例子。

我有一个预订接送服务的页面,需要创建一个表格来记录以下信息。

(日期、瓶号、姓名、地址、电话)

输入数据后,我希望将信息存储在数据库中,稍后可以将其导出回页面。其中,我将有一个包含该数据的每个条目的列表。

我该如何在wordpress中实现这一点,我不久前在php中也做过类似的事情,但我的内存有点差。是否有某种过程。我真的不知道从哪里开始。

(目前还不需要,但对于日期,我想删除某个日期,一旦它在之前被选中,我想有一个下拉菜单来选择日期,特别是30分钟的时间增量,例如星期一19日8:30、9:00,而不是用户选择自己的时间)

谢谢你的帮助。

3 个回复
最合适的回答,由SO网友:Mamaduka 整理而成

我会创建自定义post type 为此,请在post meta中存储所有信息(日期、瓶子、名称、地址、电话)。

如果你使用Gravity FormsNinja Forms, 就我个人而言,我并没有使用最后一个,但它有免费的精简版,所以值得一试。

SO网友:andresmijares

我不明白为什么要这么复杂,你可以很容易地使用contact-form-7和一个数据库扩展,它可以将所有内容存储在一个数据库中,你可以检查、导出到excel、纯文本等,还可以使用快捷码在一个页面上显示所有结果。

我给您留下两个链接:

安装后,只需创建您刚才描述的表单,当有人提交表单时,您只需转到“联系人”->“数据库”。

当然,它允许您随时删除任何寄存器。

玩得高兴

SO网友:Geert

让我们先尝试一种没有插件的轻量级方法。在页面模板中,例如。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 } ?>

结束

相关推荐

Short code to display a loop

我一直在研究这个短代码,但没有成功。。。function loop_shortcode( $atts = \'\' ) { \'<div class=\"clear\"></div> <div class=\"childs grid_12\"> <?php $the_query = new WP_Query( array( \"post_parent\" => \