按日期过滤重力表格条目

问题描述 投票:0回答:3

我正在尝试在两个特定日期之间过滤(显示)我网站前端的重力形式条目。其中之一是今天(当前日期)和在网站后端添加的自定义日期。

因此,只有在自定义日期和当前日期之间提交的条目。

我有两个变量存储这些日期:

$new_start_date
是自定义日期,并且
$end_date
是当前日期。

我的代码输出 200 个条目,但其中一些在自定义开始日期之前。

以下是我的查询代码:

<?php
//Get the Form ID to get the entries from and store it within a varibale
$form_id = GFAPI::get_form(2);


// Get Dates
$date_page_id = get_field( 'update_dates_page_link', 'options', false, false );           
$start_date = get_field( 'oak_submission_date', $date_page_id ); // date of the last submission date
$end_date   = date( 'Y-m-d', time() ); //get today's date   

// Convert start_date to match end_date format
$new_start_date = DateTime::createFromFormat( 'd/m/Y', $start_date );
$new_start_date = $new_start_date->format( 'Y-m-d' );


    $search_criteria = array(
        'status'        => 'active',
        'start_date'    => $new_start_date,
        'end_date'      => $end_date,
        'field_filters' => array(
            array(
                'key'   => '53', // Trust name field
                'value' => 'Oak Trust',
            ),
            array(
                'key'   => '49', // Grant Made field
                'value' => 'No',
            ),
        ),
    );  
    $sorting = null;
    $paging  = array( 'offset' => 0, 'page_size' => 200 );

    $entries = GFAPI::get_entries( $form_id, $search_criteria, $sorting, $paging );

//输出到屏幕的代码

foreach ( $entries as $entry) :

    echo '<li>';

    echo 'ID: '. $entry[68] .' : ' . $entry[2] .' : Submission Date: '. $entry[54];

    echo '</li>';

endforeach;
php wordpress gravity-forms-plugin
3个回答
0
投票

GFAPI::get_form(2)
不返回表单 ID,而是返回表单。试试这个:

$entries = GFAPI::get_entries( 2, $search_criteria, $sorting, $paging );

0
投票

获取日期明智过滤器的条目例如:

    $search_criteria               = array();
    $form_id                       = 79;//Form ID
    $start_date                    = date( 'Y-m-d', strtotime('-1 year') );
    $end_date                      = date( 'Y-m-d', time() );
    $search_criteria['start_date'] = $start_date;
    $search_criteria['end_date']   = $end_date;

    $results = GFAPI::get_entries( $form_id, $search_criteria );
    var_dump($results);

更多信息https://docs.gravityforms.com/searching-and-getting-entries-with-the-gfapi/


0
投票

您尝试过使用 GravityView 吗?

我有类似的用例和相对时间范围对我有帮助

https://docs.gravitykit.com/article/487-filter-relative-timeframe

© www.soinside.com 2019 - 2024. All rights reserved.