php - 如何从 Ninja Forms 获取数据以显示在前端?

标签 php wordpress ninja-forms

我只是对 Javascript 略知一二,我还不是程序员。 我创建了一个 Ninja Forms 用于我的 Wordpress 站点。当用户填写表单的 4 个字段并按 提交 时,我需要这些数据始终显示在前端(在我用 html 创建的 4 个特定位置),最后一个提交覆盖前一个。

Ninja 像这样将数据保存在 wp_postmeta 中:

    **meta_key**   **meta_value**
    _field_12     (the first of the values I want appear in frontend)
    _field_13     (the second one)
    _field_14     (the third one)
    _field_15     (the fourth one)
    _form_id      1 (always the same value)
    _seq_num      3 (increase 1 every time Submit is pressed)

我该怎么做? 我知道在没有 PHP 知识的情况下超出了我的范围但是,有人可以给我一些技巧吗?有插件吗?

请帮忙

最佳答案

您有多种选择:

  1. 创建自定义 Ninja Forms 操作。这显然需要大量的编程技能,了解 Ninja Forms 的工作原理等。优点是,您可以将数据存储在首选位置和格式(例如,在 wp_options 表中)。

  2. 解决问题。您可能可以在模板中执行类似的操作:

.

$form_id = 3;
$submissions = Ninja_Forms()->form( $form_id )->get_subs();
if ( is_array( $submissions ) && count( $submissions ) > 0 ) {

    // Get first element of array; latest submission
    $latest_submission = reset( $submissions );

    // Returns array with all submission values
    $all_fields = $latest_submission->get_field_values();
    print_r( $all_fields );

    // To get/display single value
    $single_field = $latest_submission->get_field_value( 'firstname_1531139833971' );
    echo $single_field;
}

如果您不确定表单 ID,请检查简码中列出的 ID(Ninja Forms -> Dashboard,然后是简码列)。例如。 [ninja_form id=3] id=3 是您的 form_id。

获取方法 get_field_value 键的最简单方法是打印所有提交值并检查哪个是哪个,否则,单击以编辑表单,选择要编辑的字段,展开管理部分,您应该查看该字段的键。

enter image description here

选项 #1 应该是解决此问题的首选方法,如果您打算继续选项 #2,请确保首先检查函数 Ninja_Forms() 是否存在,否则如果 Ninja Forms 被禁用/未加载/等

关于php - 如何从 Ninja Forms 获取数据以显示在前端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52371732/

相关文章:

php - 未找到列 : 1054 issue in MySQL

php - 向导航栏添加下拉菜单

javascript - 来自简码的 wp_localize_script 多次

php - 如何在 WordPress 主页上显示自定义帖子?

php - 使用自己的 API 时防止无限 AJAX 循环

php - 解析从 cURL 返回的 XML 并将curl_exec 对象解析为 SimpleXMLElement 时遇到问题

php - 如何在Mysql中检查数组中的列

javascript - 我应该使用哪种方法来禁用按钮

javascript - 使用内联样式(CSS 或 jQuery)的过渡动画