首页 问答 正文

如何在WordPress中创建表单?

注册会员 / 悠然自学 / 2023-06-11/ 浏览 139 次

在WordPress中创建表单有多种方法,以下是其中几种:

1.使用插件:在WordPress中有很多表单插件可以选择,比如Contact Form 7、Gravity Forms等,这些插件提供可视化界面和丰富的功能。

2.手动创建表单:在WordPress主题文件中创建一个新的页面模板,然后使用HTML、CSS和JavaScript手动创建表单,可以使用WordPress提供的wp_mail函数来发送表单数据。以下是一个简单的表单代码示例:

<form name="contact-form" method="POST" action="<?php echo esc_url( admin_url('admin-post.php') ); ?>">
    <input type="hidden" name="action" value="contact_form">
    <label for="name">Name</label>
    <input type="text" name="name" id="name" required>
    <label for="email">Email</label>
    <input type="email" name="email" id="email" required>
    <label for="message">Message</label>
    <textarea name="message" id="message" required></textarea>
    <input type="submit" value="Send">
</form> 

在functions.php文件中添加以下代码来处理表单数据:

function handle_contact_form() {
    if ( isset( $_POST['action'] ) && $_POST['action'] == 'contact_form' ) {
        $name = sanitize_text_field( $_POST['name'] );
        $email = sanitize_email( $_POST['email'] );
        $message = sanitize_textarea_field( $_POST['message'] );
        wp_mail( 'youremail@example.com', 'New Contact Form Submission', 'Name: ' . $name . 'nEmail: ' . $email . 'nMessage: ' . $message );
        wp_redirect( home_url() );
        exit();
    }
}
add_action( 'admin_post_nopriv_contact_form', 'handle_contact_form' );
add_action( 'admin_post_contact_form', 'handle_contact_form' ); 

上述代码将表单数据发送到youremail@example.com,使用wp_redirect函数重定向到首页。

需要说明的是,以上代码只是一个简单的示例,实际使用时需要根据需求进行修改和扩展。

大家谈论
    我的见解