首页 问答 正文

如何为WordPress主题添加表单提交和处理功能?

注册会员 / 悠然自学 / 2023-07-11/ 浏览 66 次

要为WordPress主题添加表单提交和处理功能,可以按照以下步骤进行操作:

步骤1: 在主题文件夹中创建一个名为process-form.php的文件,用于处理表单提交的数据。

步骤2: 在你想要显示表单的页面模板文件中,添加一个表单,例如:

<form method="post" action="<?php echo esc_url( admin_url('admin-post.php') ); ?>">
    <input type="hidden" name="action" value="process_form">
    <input type="text" name="name" placeholder="你的名字" required>
    <input type="email" name="email" placeholder="你的邮箱" required>
    <textarea name="message" placeholder="你的留言" required></textarea>
    <input type="submit" value="提交">
</form> 

步骤3: 在主题的functions.php文件中,添加处理表单的函数。例如:

function process_form_data() {
    $name = sanitize_text_field( $_POST['name'] );
    $email = sanitize_email( $_POST['email'] );
    $message = sanitize_textarea_field( $_POST['message'] );

    // 这里可以对表单数据进行处理,例如发送邮件或保存到数据库
    // ...

    // 返回到之前的页面
    wp_redirect( $_SERVER['HTTP_REFERER'] );
    exit;
}
add_action( 'admin_post_process_form', 'process_form_data' );
add_action( 'admin_post_nopriv_process_form', 'process_form_data' ); 

步骤4: 更新主题的functions.php文件,添加一个操作钩子,确保处理表单的函数被调用。例如:

add_action( 'wp_enqueue_scripts', 'enqueue_custom_scripts' );
function enqueue_custom_scripts() {
    wp_enqueue_script( 'my-custom-script', get_stylesheet_directory_uri() . '/js/custom-script.js', array( 'jquery' ), '1.0', true );
} 

这些步骤将在WordPress主题中添加一个表单提交和处理功能。当用户提交表单时,表单数据将被发送到process-form.php文件进行处理。然后,你可以对表单数据进行任何必要的操作,例如发送电子邮件或将数据保存到数据库中。

请注意,这只是一个基本示例,你可以根据自己的需求进行修改和扩展。

大家谈论
    我的见解