редактору при публикации не подставляется даты поста, а по дефолту "опубликовать сейчас", если редактор выбирает дату и нажимает "сохранить для публикации" - потом дата отображается нормально. Не могу понять почему так, при добавлении поста все четыре даты передаю, изменений не вижу которые делаются при ручной установке даты - не в мета, ни в таблице постов ничего нового не появляется, но последующие редактирования - дата подставлена корректно. Кто то знает как корректно создать пост на модерации с проставленной датой поста?
#вопрос
код в студию
Подсократил немного, но смысл думаю ясен: $insert = [ 'post_title' => $title, 'post_status' => 'pending', 'post_content' => $html, 'comment_status' => 'open', 'ping_status' => 'closed', ]; $postId = wp_insert_post(wp_slash($insert)); if (is_wp_error($postId)) { throw new Exception('Ошибка при добавлении отзыва'); } $date = gmdate(ZLOJ_MYSQL_TIME); $res = $wpdb->update('wp_posts', [ 'post_name' => $postId, 'guid' => WP_HOME . '/reviews/' . $orgType . '/' . $postId . '/', 'post_date' => $date, 'post_date_gmt' => $date, 'post_modified' => $date, 'post_modified_gmt' => $date, ], [ 'ID' => $postId, ]); if (!$res) { throw new Exception('Ошибка при сохранении отзыва'); }
а зачем вы обновляете данные поста после создания? Почему бы сразу не вставить?
Потому что я не знаю ID поста, он как часть ссылки
https://wp-kama.ru/function/wp_insert_post
Куда смотреть?
Читать нужно
Вы видите там решение проблемы или просто кинули ссылку?
Я понять не могу, я уже попробовал несколько вариантов - нифига не получается. Ладно, буду разбиратся
Только не скриптом в базу, а функцией wp_insert_post
Это кстати не то что нужно, это обновление, а мне нужно чтобы редактору выводился пост на модерации с корректной датой
Мне нужно чтобы пост был на модерации но дата у него была корректная, а не публиковался он автоматически
Да, нужно чтобы тут для редакторов выводилась дата добавления по дефолту
Ну это отложенная публикация. Для нее нужен статус future. Я же написал
Отложенная это на будущее, мне нужно фиксировать текущую, зачем мне отложенная если нужна модерация?
То что у вас на скрине - это отложенная! Если вам нужна модерация - значит откажитесь от отложенной
Вы код видите, который выше?
Надпись Опубликовать... Означает что пост опубликуется в указанное время = отложенная публикация
попробуйте во второй раз вместо wpdb использовать функцию wp_update_post
Обсуждают сегодня