Я использую функцию 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, затем я попытался установить текущую дату и время вручную. Но это всегда вставляло ту странную старую дату. У меня такая же проблема для обновления поста.
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/
Похоже, 1970/01/01 это ваша системная дата. Проверьте свою конфигурацию.
http://php.net/manual/en/function.date.php
функция Дата возвращает строку, отформатированную в соответствии с заданной строкой формата, используя
данная целочисленная временная метка или текущее системное время, если нет временной метки
дано. Другими словами, отметка времени является необязательной и по умолчанию имеет значение
времени().