Front-end добавить пост текущая дата не работает - PullRequest
0 голосов
/ 13 сентября 2018

Я использую функцию 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, затем я попытался установить текущую дату и время вручную. Но это всегда вставляло ту странную старую дату. У меня такая же проблема при обновлении сообщения.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

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/

0 голосов
/ 13 сентября 2018

Похоже, 1970/01/01 это ваша системная дата. Проверьте свою конфигурацию.

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

Функция дата возвращает строку, отформатированную в соответствии с заданной строкой формата, используя данная целочисленная временная метка или текущее системное время, если нет временной метки дано. Другими словами, отметка времени является необязательной и по умолчанию имеет значение времени ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...