You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ninjaforms按用户查询提交记录 如何在前端展示登录用户的表单提交内容

Ninja Forms 前端用户提交记录实现方案

前置准备

你需要提前获取两个核心配置值,后续代码中需要替换为你自己的实际值:

  • 文件上传表单的ID(可在Ninja Forms表单列表页查看)
  • 表单内文件上传字段的KEY(可在表单编辑页点击对应上传字段,在「高级」设置tab中查看)

核心实现逻辑

不要直接通过 Ninja_Forms()->form( $form_id ) 方法拉取提交,该方法默认无用户维度过滤,且返回数据结构冗余,推荐直接使用Ninja Forms官方提供的提交查询函数 nf_get_submissions() 实现过滤查询。

完整示例代码

你可以将以下代码插入到你的用户仪表盘模板对应位置即可:

// 校验用户登录状态
if ( ! is_user_logged_in() ) {
    echo '请先登录后查看提交记录';
    return;
}

$current_user_id = get_current_user_id();
// 替换为你实际的表单ID
$target_form_id = 2;
// 替换为你实际的文件上传字段KEY
$upload_field_key = 'file_upload_123456';

// 按用户ID过滤查询提交记录
$submissions = nf_get_submissions( [
    'form_id' => $target_form_id,
    'user_id' => $current_user_id,
    'orderby' => 'date_submitted',
    'order' => 'DESC',
    // 可自定义返回条数,-1为返回所有
    'numberposts' => 20
] );

if ( empty( $submissions ) ) {
    echo '暂无提交的文件记录';
    return;
}
?>

<!-- 输出记录列表 -->
<ul class="user-file-submissions">
<?php foreach ( $submissions as $sub ) :
    $submit_time = $sub->get_date_submitted();
    $file_data = $sub->get_field_value( $upload_field_key );
    // 兼容多文件上传场景返回的数组结构
    $file_list = is_array( $file_data ) ? $file_data : [ $file_data ];
?>
    <li class="submission-item">
        <p>提交时间:<?php echo esc_html( $submit_time ); ?></p>
        <p>上传文件:</p>
        <ul>
            <?php foreach ( $file_list as $file ) : 
                if ( empty( $file ) ) continue;
                $file_info = explode( '/', $file );
                $file_name = end( $file_info );
            ?>
            <li><a href="<?php echo esc_url( $file ); ?>" target="_blank"><?php echo esc_html( $file_name ); ?></a></li>
            <?php endforeach; ?>
        </ul>
    </li>
<?php endforeach; ?>
</ul>

常见问题排查

  • 如果返回数据为空,先确认表单ID和字段KEY是否填写正确,再检查对应测试用户是否确实有提交记录
  • 单文件上传场景下,字段返回值为字符串类型,多文件上传返回为数组结构,上述代码已经做了兼容处理

内容的提问来源于stack exchange,提问作者Bill Burke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:18:03