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

如何在Gravity Forms中分组多表单并设置组的每日总条目限制?

多表单分组每日提交限制实现方案

可以通过自定义代码或第三方插件实现Gravity Forms多表单分组的每日总提交限制,以下是具体实现方式:

一、自定义代码方案

利用Gravity Forms的gform_validation钩子,在表单提交前验证分组内所有表单的当日总提交数,超过限制则阻止提交。

代码示例

add_filter( 'gform_validation', 'gf_group_daily_submission_limit' );
function gf_group_daily_submission_limit( $validation_result ) {
    // 替换为你的目标表单ID集合
    $group_form_ids = array( 1, 2, 3 );
    // 设置每日总提交上限
    $daily_limit = 50;
    $current_form_id = $validation_result['form']['id'];

    // 仅对分组内的表单执行验证逻辑
    if ( ! in_array( $current_form_id, $group_form_ids ) ) {
        return $validation_result;
    }

    // 获取当日时间范围(基于站点时区)
    $today_start = strtotime( 'today', current_time( 'timestamp' ) );
    $today_end = strtotime( 'tomorrow', current_time( 'timestamp' ) ) - 1;

    // 统计分组内所有表单的当日提交总数
    $total_submissions = 0;
    foreach ( $group_form_ids as $form_id ) {
        $entry_count = GFAPI::count_entries( $form_id, array(
            'start_date' => date( 'Y-m-d H:i:s', $today_start ),
            'end_date'   => date( 'Y-m-d H:i:s', $today_end ),
        ) );
        $total_submissions += $entry_count;
    }

    // 检查是否超过限制,触发验证错误
    if ( $total_submissions >= $daily_limit ) {
        $validation_result['is_valid'] = false;
        // 给第一个字段添加错误提示(可根据需求调整提示位置和内容)
        $validation_result['form']['fields'][0]['failed_validation'] = true;
        $validation_result['form']['fields'][0]['validation_message'] = '今日预约名额已耗尽,请明日再尝试。';
    }

    return $validation_result;
}

使用说明

  1. 将代码添加到当前主题的functions.php文件中,或创建一个简单的自定义插件存放代码
  2. 替换$group_form_ids数组中的值为你需要分组的表单ID
  3. 修改$daily_limit为你想要设置的每日总提交上限
  4. 错误提示内容可根据业务需求自行调整

该方案兼容gappointments插件,因为gappointments的预约提交会被Gravity Forms正常统计为条目,总数计算准确。

二、插件方案

如果不想编写代码,可以选择支持多表单分组限制的Gravity Forms第三方扩展插件。部分付费扩展(如专注于提交限制的Gravity Forms add-ons)提供分组限制功能,可直接在后台配置表单分组和每日提交上限,无需手动编码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 14:56:09