У меня есть пользовательский тип сообщения, называемый книги. Дата публикации книг - между 1700 и 1900 годами.
Я хочу установить дату публикации на эти даты (чтобы я мог запросить результаты, отсортированные по годам), но я не могу установить дату до 1 января 1970 года.
Можно ли как-то это сделать?
custom-post-types
date
passatgt
источник
источник
post_date
в базе данных правильно установлены на любую дату, которую я пытался. Тем не менее,post_date_gmt
неправильно установлено, как 1 января 1970 года - начало мира . Так что не пытайтесь освоить это поле. Делай то, что предлагает.Ответы:
Не используйте
post_date
поле ни для чего, для чего оно не предназначено. Вместо этого используйте метаполе поста.post_date
Это неизбежноpost_date_gmt
, вы получите странный побочный эффект , даже вы могли бы получить более раннюю дату в этом.Так что создавайте мета-поля постов и запрашивайте их по налоговым запросам . Игнорировать поле по умолчанию.
В ответ на ваш комментарий: Не используйте таксономию.
Я тоже однажды запустил плагин диспетчера книг, но, к сожалению, он все еще в черновом состоянии ... но у меня есть несколько рекомендаций относительно дат:
Используйте два типа записей: один для опуса, другой для реальных изданий (
opus
тип будет родительским для нескольких изданий). Таким образом, вы можете сохранить дату создания в опусе, дату публикации (язык, редактор, переводчик и т. Д.) В издании.Прочитайте Создание
<time>
безопасного для историков . Даты до 1970 года тяжелые.Функции даты и времени MySQL не могут обрабатывать все случаи, в результате вы получаете несколько пользовательских процедур для сортировки, в зависимости от вашего решения для (2.).
источник
Этот плагин использует библиотеку ADOdb Date от John Lim из PHP Everywhere, которая, как я цитирую, «делает форматирование даты с датами до 1970 года очаровательным».
источник