-1

我正在尝试将 WordPress Gravity Forms 中的日期从 dmy 转换为 Unix,通过将以下内容添加到 functions.php 可以正常工作,但我想在转换后的日期中添加 +1 年。我哪里错了?

  function rkv_datesubmit_fix2 ($form){
        //ACTUAL START DATE FIELD, date field id is 601 in gravity forms
        $raw_srt = $_POST['input_601'];
        $raw_end = $_POST['input_602'];

        // convert dates to unix
        $fix_srt = strtotime ($raw_srt);
        $fix_end = strtotime($raw_end);

            //output to gravity forms field 603 (start date)
            //output to gravity forms field 604 (end date)
        $_POST['input_603'] = $fix_srt;
        $_POST['input_604'] = $fix_end;
    }

add_action('gform_pre_submission', 'rkv_datesubmit_fix2');

如果它更改$fix_srt = strtotime ($raw_srt);strtotime('+ 1 year', $raw_srt);我得到 1971/1/1,而不是重力字段 601 的原始输入日期加上一年。

4

1 回答 1

1

这是工作代码:

function rkv_datesubmit_fix2 ($form){
    //ACTUAL START DATE FIELD, date field id is 601 in gravity forms
    $raw_srt = $_POST['input_601'];
    $raw_end = $_POST['input_602'];

    // convert dates to unix
    $fix_srt = strtotime ($raw_srt);
    $fix_end = strtotime($raw_end.' + 1 year');

    //output to gravity forms field 603 (start date)
    //output to gravity forms field 604 (end date)
    $_POST['input_603'] = $fix_srt;
    $_POST['input_604'] = $fix_end;
}

add_action('gform_pre_submission', 'rkv_datesubmit_fix2');

为了增加 +1 年,$fix_end我们刚刚使用了strtotime($raw_end.' + 1 year'). 这是实现您想要的结果的最简单方法。

于 2018-03-28T22:26:10.597 回答