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

Gravity Forms API调用时开始与结束日期参数被忽略问题求助

问题分析与解决

你的问题核心是日期筛选参数的位置放错了。Gravity Forms API的GFAPI::get_entries()方法中,start_date和end_date属于搜索筛选条件,需要放在第二个参数的筛选数组里,而不是第四个参数的分页/选项数组中。

修正后的代码

$form_id                = isset($_GET['form-id']) ? $_GET['form-id'] : '';
$form                   = GFAPI::get_form($form_id);
$start_date             = isset($_GET['start-date']) ? $_GET['start-date'] : '';
$end_date               = isset($_GET['end-date']) ? $_GET['end-date'] : '';

// 初始化筛选条件
$search_criteria = array(
    'status' => array('active'),
);

// 仅当日期参数存在时添加筛选,避免空值干扰
if (!empty($start_date)) {
    $search_criteria['start_date'] = $start_date;
}
if (!empty($end_date)) {
    $search_criteria['end_date'] = $end_date;
}

$entries = GFAPI::get_entries($form_id, $search_criteria, array(), array(
    'page_size' => 1000,
    'offset' => 0
));

额外验证点

  1. 确认传入的日期格式符合要求:Gravity Forms支持YYYY-MM-DD或带时间的YYYY-MM-DD HH:MM:SS格式,其他格式会导致筛选失效。
  2. 可以通过var_dump($start_date, $end_date)检查URL参数是否被正确获取,排除参数传递失败的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:40:04