在Wordpress模板中显示忍者表单数据

时间:2018-09-24 22:40:58

标签: php wordpress ninja-forms

我正在经历一场噩梦,试图将忍者表单提交的输出添加到wordpress中的php模板中。我想显示用户给定表单提交的内容(表单要求用户登录),该内容用于计算向登录用户显示的模板页面上的报价,但似乎找不到正确的代码添加它。

我已经粘贴了到目前为止的代码,该代码使用了提交插件来显示,但是我似乎无法根据提交用户来选择提交,也无法以任何形式显示。 / p>

这花费了许多时间才能到达这一点,我们将不胜感激。我已经在插件中使用了一些代码,只是要求提交表单的用户和一些显示表单的逻辑方法。

$form = Ninja_Forms()->form( 2 )->get();
    $fields = Ninja_Forms()->form( 2 )->get_fields();
    $subs = Ninja_Forms()->form( 2 )->get_subs();

                foreach( array_reverse( $subs ) as $sub ){
        $merge_tags = Ninja_Forms()->merge_tags[ 'fields' ];
        foreach( $fields as $field ){
            $field_id = $field->get_id();
            $merge_tags->add_field( array(
                'id' => $field->get_id(),
                'key' => $field->get_setting( 'key' ),
                'type' => $field->get_type(),
                'value' => $sub->get_field_value( $field_id )
            ));
        }
        echo $merge_tags->replace( $form->get_setting( 'subs_display' ) );
    }

谢谢。

马特

1 个答案:

答案 0 :(得分:0)

您可以根据当前登录用户的电子邮件添加条件,例如

foreach( array_reverse( $subs ) as $sub ){
    if( wp_get_current_user()->user_email == $sub->get_field_value( 'email' ) ){
        $merge_tags = Ninja_Forms()->merge_tags[ 'fields' ];
        foreach( $fields as $field ){
            $field_id = $field->get_id();
            $merge_tags->add_field( array(
                'id' => $field->get_id(),
                'key' => $field->get_setting( 'key' ),
                'type' => $field->get_type(),
                'value' => $sub->get_field_value( $field_id )
            ));
        }
        echo $merge_tags->replace( $form->get_setting( 'subs_display' ) );
    }
}