如何在同一页面上显示来自 WSForm Wordpress 插件表单的 AJAX post 数据?

How to show-up AJAX post data from WSForm Wordpress plugin form on the same page?

我在我的 Wordpress 站点上安装了 WSForm Pro 表单管理插件。该插件使用 AJAX 作为 post 表单数据的唯一方法,因此只有表单区域在提交时更新,而不是整个页面。提交时,我需要在同一页面上显示表单数据。

我做了什么。 通过向我的主题 functions.php 添加一个函数,我能够将表单的数据作为会话变量获取:

// Add action to process WS Form form data
add_action('wsf_action_tag', 'wsf_action_function', 10, 2);
// My function for action
function wsf_action_function($form, $submit) {
    // Get submit value (Change '123' to your field ID)
    $submit_value = wsf_submit_get_value($submit, 'field_18');
    session_start();
    $_SESSION['form'] = $submit_value;
    // Do something with $submit_value here
    // ...
}

我还在页面中添加了以下 php 代码,以显示上面的会话变量:

<?php
session_start();
$form = $_SESSION['form'];
var_dump($form);
?>

问题。 当我提交表单时,除了内置的成功消息(与 AJAX 一样),没有任何变化,尽管在页面上重新加载提交的数据显示成功。如果我可以拥有自己的 AJAX 脚本,我想稍微修改一下以重新加载整个页面。但是由于我使用的是第三方插件,这让任务变得太复杂了。

问题是我如何更改我的代码的任何部分以在提交时在同一页面上显示表单数据?

在 WSForm 功能中找到了解决方法!从“编辑表单”中选择“操作”、“添加”、“重定向”并将页面的重定向指向自身。 Click to to see the screenshot