0

我正在使用 acf_form() 函数从前端添加/更新帖子。除发布日期外,一切正常。不知何故,它发布了一个非常古老的日期(1970/01/01)。我想发布当前日期。这是我的代码:

    $current_datetime = date('Y-m-d H:i:s');
    acf_form_head();
    acf_form(array(
        'post_id'       => 'new_post',
        'post_title'    => true,
        'post_content'  => true,
        'submit_value'  => __("Send", 'acf'),
        'updated_message' => __("Suksess!", 'acf'),
        'new_post'      => array(
            'post_type'     => 'nyhet',
            'post_status'   => 'publish',
            'post_author'   => get_current_user_id(),
            'post_category' => '',
            'post_modified' => $current_datetime,
            'post_modified_gmt' => $current_datetime,
        ),
        'fields'        => array('ingress', 'publisere_kun_pa_lokallagssiden', 'featured_image'),
        'html_submit_button' => '<input type="submit" class="button box-button green save-content" value="%s" />',
    ));

我知道如果是针对当前日期,我不需要设置“post_modified”和“post_modified_gmt”值。我试过没有那些 2,然后我尝试手动设置当前日期时间。但它总是插入那个奇怪的旧日期。我在更新帖子时遇到了同样的问题。

4

2 回答 2

2

WordPress 有许多日期/时间功能

https://codex.wordpress.org/Formatting_Date_and_Time

你应该需要的是:

acf_form_head();
acf_form(array(
    'post_id'       => 'new_post',
    'post_title'    => true,
    'post_content'  => true,
    'submit_value'  => __("Send", 'acf'),
    'updated_message' => __("Suksess!", 'acf'),
    'new_post'      => array(
        'post_type'     => 'nyhet',
        'post_status'   => 'publish',
        'post_author'   => get_current_user_id(),
        'post_category' => '',
        'post_modified' => current_time( 'mysql' ),
        'post_modified_gmt' => current_time( 'mysql' ),
    ),
    'fields'        => array('ingress', 'publisere_kun_pa_lokallagssiden', 'featured_image'),
    'html_submit_button' => '<input type="submit" class="button box-button green save-content" value="%s" />',
));

欲了解更多信息:

https://developer.wordpress.org/reference/functions/current_time/

于 2018-09-13T13:01:03.193 回答
0

看起来 1970/01/01 是您的系统日期。检查您的配置。

http://php.net/manual/en/function.date.php

函数date返回一个根据给定格式字符串格式化的字符串,如果没有给出时间戳,则使用给定的整数时间戳或当前系统时间。换句话说,timestamp 是可选的,默认为 time() 的值。

于 2018-09-13T12:53:06.093 回答