Встановити дату публікації до 1970 року


10

У мене є власний тип публікації під назвою книги. Дата публікації книг - від 1700 до 1900 року.

Я хочу встановити дату публікації на ці дати (тому я можу запитувати результати, відсортовані за роками), але я не можу мати дату, встановлену до 1970 року 1 січня.

Чи можна якось це зробити?


Наскільки я можу сказати, дата публікації обмежена в 1902 р.
Wyck

Я переглянув це, і post_dateв базі даних правильно встановлено будь-яку дату, яку я пробував. Однак, post_date_gmtвстановлено неправильно, як 1 січня 1970 року - початок світу . Тому не намагайтеся охопити це поле. Робіть те, що пропонує Тошо.
s_ha_dum

+1 приємне запитання! Пошуки 1970 р. Мають цікаві результати тут і на SO . Плагін здається не дуже добре кодованим, але, можливо, варто подивитися ...
brasofilo

Відповіді:


10

Не використовуйте post_dateполе для нічого, для чого воно не створено. Використовуйте замість метаполя публікації. post_dateЦе неминучеpost_date_gmt , ви отримаєте дивний побічний ефект , навіть ви могли б отримати більш ранню дату в цьому.

Тому створення поштових полів метаданих і запитів тих , хто за податковий запит . Ігноруйте поле за замовчуванням.

У відповідь на ваш коментар: Не використовуйте систематику.

  1. Таксономії побудовані так, щоб дозволити кілька термінів на посаду (тут ігноруйте постформати ). Схема не відповідає вашому випадку використання.
  2. Запити таксономії дорогі, вони проходять через три таблиці.
  3. Вам доведеться змінити інтерфейс за замовчуванням, щоб запобігти нещасним випадкам, як кілька завдань. Можливо, але не зовсім просто і, можливо, не сумісне вперед.

Я також запустив плагін "Менеджер книг", на жаль, він все ще знаходиться в статусі проекту ... але я маю кілька рекомендацій щодо дат:

  1. Використовуйте два типи публікацій: один для опусу, один для реальних видань ( opusтип буде батьківським для кількох видань). Таким чином, ви можете зберігати дату створення в опусі, дату публікації (мова, редактор, перекладач тощо) у виданні.

  2. Читайте Як зробити <time>безпечним для істориків . Дати до 1970 року важкі.

  3. Функції дати та часу MySQL не можуть обробляти всі випадки, ви закінчуєте деякі власні процедури для сортування, залежно від рішення для (2.).


Дякую! Мій клієнт надіслав мені XML-файл із книгами, і я імпортував це у wordpress. У мене є лише роки для книг, тому я вирішив створити власну таксономію на ці роки, але потім з’ясував, що не можу замовити запит на основі цього. Але якщо я можу замовити за спеціальним полем, то я також здогадуюсь, що його добре.
passatgt

Дозвольте запитати вас, як ви вважаєте, чи достатньо вдале рішення для використання власної систематики протягом років? Я думаю, що я можу створити користувальницький запит sql для сортування результатів на основі назви терміна (тому що структура DB в основному однакова з метаметалом пост), і я думаю, що це трохи простіше в управлінні роками + книгами в бекенді .
passatgt

@passatgt Дивіться моє оновлення. Коротко: ні, не робіть цього. :)
fuxia

Зрозумів. Варто зазначити, що у мене є 25 000 книг :)
passatgt

1

Цей плагін використовує бібліотеку дат ADOdb Джона Ліма з PHP Everywhere, що, я цитую, "робить форматування дати з датами до 1970 року чарівним".


Цей плагін робить більше того, що вимагає ОП, і не ясно, чи він форматування дати використовує внутрішньо плагіном, чи він також дозволяє форматувати ту саму дату для основних функцій WordPress. Чи знаєте ви відповіді на будь-яке з цих питань?
s_ha_dum

Я просто хотів виділити бібліотеку Ліма та те, як вона реалізована в плагіні WP. Що стосується вашого другого питання, основні функції не змінені, плагін зберігає дати у спеціальній таблиці бази даних.
копати
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.