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

如何在Gravity Forms中实现带审核状态标签的文件上传表单?

实现Gravity Forms文件上传字段的状态标签功能

1. 添加状态存储字段

  • 在目标表单中新增一个隐藏字段,字段标签设为「审核状态」,默认值填in progress,位置可放在文件上传字段前后任意位置,确保能随表单提交存储。

2. 前端渲染状态标签

将以下代码添加到主题的functions.php文件,或使用代码片段插件实现:

add_action( 'gform_field_before_input', 'add_upload_status_label', 10, 2 );
function add_upload_status_label( $field, $form ) {
    // 替换为你的文件上传字段ID(比如你的文件字段是ID 3,就把5改成3)
    if ( $field->id != 5 ) return;

    $status = 'in progress';
    // 查看条目时获取存储的状态
    if ( isset( $_GET['entry'] ) ) {
        $entry = GFAPI::get_entry( $_GET['entry'] );
        // 替换为你的状态字段ID(比如状态字段是ID 4,就把6改成4)
        $status = rgar( $entry, '6' );
    } 
    // 编辑条目时获取提交的状态值
    elseif ( isset( $_POST['input_6'] ) ) {
        $status = $_POST['input_6'];
    }

    // 状态对应的样式类
    $status_classes = [
        'in progress' => 'status-in-progress',
        'approved' => 'status-approved',
        'rejected' => 'status-rejected'
    ];
    $class = $status_classes[$status] ?? $status_classes['in progress'];
    $label_text = ucwords( $status );

    echo '<div class="upload-status-label ' . $class . '">' . $label_text . '</div>';
}

再添加CSS样式到主题自定义CSS区域,优化标签显示效果:

.upload-status-label {
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
    display: inline-block;
}
.status-in-progress {
    background-color: #f0ad4e;
    color: #fff;
}
.status-approved {
    background-color: #5cb85c;
    color: #fff;
}
.status-rejected {
    background-color: #d9534f;
    color: #fff;
}

3. 管理员审核修改状态

  • 进入表单的「条目」页面,找到对应条目点击「编辑」。如果看不到状态字段,点击编辑页面右上角「选项」,勾选「显示隐藏字段」。
  • 审核完文件后,直接修改状态字段的值为approved或rejected,保存条目即可更新前端显示的状态标签。

4. 可选优化:简化审核操作

如果觉得手动输入状态值麻烦,可将隐藏字段改为下拉选择字段:

  • 把原隐藏字段替换为下拉字段,选项设为in progress、approved、rejected,默认值选in progress。
  • 在字段「高级」设置中勾选「仅管理员可见」,用户提交表单时看不到该字段,管理员编辑条目时直接选择状态即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:22:20