2

我只知道一点Javascript,我还不是程序员。我创建了一个Ninja Forms在我的 Wordpress 网站中使用。当用户填写表单的 4 个字段并按Submit时,我需要这些数据始终出现在前端(在我在 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 知识的情况下超出了我的范围,但是,有人可以给我一些技巧吗?有插件可以获取吗?

请帮忙

4

1 回答 1

3

你有几个选择:

  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的键的最简单方法是打印所有提交值并检查哪个是哪个,否则,单击编辑表单,选择要编辑的字段,展开管理部分,您应该会看到该字段的键。

在此处输入图像描述

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

于 2018-11-12T17:24:42.030 回答