【问题标题】:Foreach Loop Not Display All EntriesForeach 循环不显示所有条目
【发布时间】:2014-02-27 12:18:21
【问题描述】:

我在我的 WordPress 网站上创建了一个自定义功能,该功能在网站上有一个重力表格 (GF) 表格,人们可以在其中承诺创建群组。表单上有 7 个字段(表单 ID #1):

  1. 姓名
  2. 电子邮件
  3. 组织名称
  4. 组织地址
  5. 工作日组数
  6. 周末组数
  7. 组总数(隐藏)

脚本从 GF 表格 #1 请求线索,并通过 foreach 循环运行它,该循环不断添加字段 7 中的值,直到没有留下任何条目。

但是,从今天开始,代码仅从表单中收集 30 个条目,而当前有 60 个条目。请帮助。

function test_gf(){
 $pledges = RGFormsModel::get_leads('1');   // Form_id
    $group_count = 0;   // resets group_count
    $entries = 0;
        foreach ($pledges as $pledge) {
            $group_count += $pledge[7]; // Adds each value from Field #7 (Total)
            $entries++; // Checking the number of entries processed
        }

    // HTML Output
    echo '<h1>New Groups Pledged: '. $group_count . '</h1>' ;
    echo '<h2># of Entries Processed: '.$entries.'</h2>';
}

【问题讨论】:

  • get_leads()的定义:可能返回的潜在客户数量有某种默认值?

标签: php wordpress forms foreach gravity-forms-plugin


【解决方案1】:

完全正确:$page_size=30,用更大的数字覆盖这个默认值:

get_leads(1,0,'DESC','',0,500000)

【讨论】:

  • 所以,我将代码修改为$pledges = RGFormsModel::get_leads('1', $page_size=100000);,它显示了一个更准确的数字,但它仍然不是完整的列表,条目总数仍然输出 30。所以,我更新了 forms_model .php 代码为 5000000,这似乎有效。谢谢!
  • 我不确定我是否有相同版本的插件,这就是为什么我说要检查函数定义:get_leads($form_id, $sort_field_number=0, $sort_direction='DESC', $search='', $offset=0, $page_size=30 这意味着你应该传递 5000000 来代替 $page_size 参数 - 在我的情况下,调用将如下所示: get_leads(1,0,'DESC','',0,500000) 由于自动更新功能,修改插件源代码不好。
  • 我可以试试。如果可能的话,我讨厌修改核心插件文件。我将不得不在调用中传递所有参数。谢谢。
  • 我刚刚将代码更新为 $pledges = RGFormsModel::get_leads(1,0,'DESC','',0,500000); // Form_id defined by shortcode variable $group_count = 0; // resets group_count $entries = 0; foreach ($pledges as $pledge) { $group_count += $pledge[7]; // Adds each value from Field #6 (Total) $entries++; } 并且它运行良好,特别是因为 GF 的文档非常有限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-12
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-08
相关资源
最近更新 更多