Front-end добавить пост текущая дата не работает

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

0

Решение

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/

1

Другие решения

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

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

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

0

По вопросам рекламы [email protected]